erichkeane (Erich Keane)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2016, 8:37 AM (116 w, 4 d)

Recent Activity

Wed, Sep 19

erichkeane added a reviewer for D52268: [AST] Squeeze some bits in LinkageComputer: george.burgess.iv.
Wed, Sep 19, 10:09 AM · Restricted Project
erichkeane updated subscribers of D52268: [AST] Squeeze some bits in LinkageComputer.

Does this still work with 32 bit hosts? Does PointerIntPair have 3 bits in that case? Is the alignof static_assert valid in that case?

I think it does since Decl is manually over-aligned to 8 bytes. But you are right that the static_assert is probably not needed
here since llvm::PointerIntPair checks that the low bits are available.

I'm not sure how often this ever gets modified, but it is a touch scary to me that we've already maxed out the size of this struct.

I am not sure either... It was just a quick change I spotted and this is borderline not worth doing. If you think that we ought to keep
some space left I will abandon this revision.

Wed, Sep 19, 10:09 AM · Restricted Project
erichkeane added a comment to D52268: [AST] Squeeze some bits in LinkageComputer.

Does this still work with 32 bit hosts? Does PointerIntPair have 3 bits in that case? Is the alignof static_assert valid in that case?

Wed, Sep 19, 9:01 AM · Restricted Project
erichkeane added a comment to D52267: [AST] Various optimizations + refactoring in DeclarationName(Table).

A few drive-by comments... This is a patch with interactions I'm not sure I feel comfortable approving myself, so I'll count on @rjmccall to do so.

Wed, Sep 19, 8:54 AM · Restricted Project

Thu, Sep 13

erichkeane committed rC342152: [NFC]Refactor MultiVersion Resolver Emission to combine types.
[NFC]Refactor MultiVersion Resolver Emission to combine types
Thu, Sep 13, 9:59 AM
erichkeane committed rL342152: [NFC]Refactor MultiVersion Resolver Emission to combine types.
[NFC]Refactor MultiVersion Resolver Emission to combine types
Thu, Sep 13, 9:59 AM

Wed, Sep 12

erichkeane created D52000: Feedback/direction Review for cpu-dispatch emit stage into GlobalDecl.
Wed, Sep 12, 12:47 PM

Mon, Sep 10

erichkeane committed rC341871: Fix test regression in r341862.
Fix test regression in r341862
Mon, Sep 10, 2:59 PM
erichkeane committed rL341871: Fix test regression in r341862.
Fix test regression in r341862
Mon, Sep 10, 2:59 PM
erichkeane committed rC341862: Move AESNI generation to Skylake and Goldmont.
Move AESNI generation to Skylake and Goldmont
Mon, Sep 10, 2:13 PM
erichkeane committed rL341862: Move AESNI generation to Skylake and Goldmont.
Move AESNI generation to Skylake and Goldmont
Mon, Sep 10, 2:13 PM
erichkeane closed D51510: Move AESNI generation to Skylake and Goldmont.
Mon, Sep 10, 2:13 PM
erichkeane committed rL341861: Move FeatureAES from SLM, WSM and SNB to GLM and SKL.
Move FeatureAES from SLM, WSM and SNB to GLM and SKL
Mon, Sep 10, 2:13 PM
erichkeane closed D51565: Move FeatureAES from SLM, WSM and SNB to GLM and SKL.
Mon, Sep 10, 2:13 PM
erichkeane added a comment to D51650: Implement target_clones multiversioning.

Thanks for the feedback @rsmith! I'm working through the lambda issue and a few other things, but will get to this as soon as I can.

Mon, Sep 10, 11:30 AM
erichkeane added a comment to D51650: Implement target_clones multiversioning.

Based on feedback from @rsmith I've been trying to get this to work with Lambdas like GCC does, though I'm quite confused about how to go about it here. It seems that the lambda definition call operator is deferred, however I'm having a hard time making sure that this happens in the "IFunc" case. I'm still working on it, but it might be a bit.

Mon, Sep 10, 10:43 AM
erichkeane committed rC341833: Prevent cpu-specific/cpu-dispatch from giong on a lambda..
Prevent cpu-specific/cpu-dispatch from giong on a lambda.
Mon, Sep 10, 7:33 AM
erichkeane committed rL341833: Prevent cpu-specific/cpu-dispatch from giong on a lambda..
Prevent cpu-specific/cpu-dispatch from giong on a lambda.
Mon, Sep 10, 7:33 AM

Thu, Sep 6

erichkeane updated the diff for D51650: Implement target_clones multiversioning.

fix aaron's comments.

Thu, Sep 6, 11:26 AM

Wed, Sep 5

erichkeane committed rC341484: Test Commit for git-svn-cleanup comment..
Test Commit for git-svn-cleanup comment.
Wed, Sep 5, 10:15 AM
erichkeane committed rL341484: Test Commit for git-svn-cleanup comment..
Test Commit for git-svn-cleanup comment.
Wed, Sep 5, 10:15 AM

Tue, Sep 4

erichkeane created D51650: Implement target_clones multiversioning.
Tue, Sep 4, 11:41 AM

Aug 21 2018

erichkeane added inline comments to D51026: [CodeGen] Implicitly set stackrealign on the main function, if custom stack alignment is used.
Aug 21 2018, 5:52 AM

Aug 17 2018

erichkeane committed rL340025: Fix for bug 38508 - Don't do PCH processing when only generating preprocessor….
Fix for bug 38508 - Don't do PCH processing when only generating preprocessor…
Aug 17 2018, 6:44 AM
erichkeane committed rC340025: Fix for bug 38508 - Don't do PCH processing when only generating preprocessor….
Fix for bug 38508 - Don't do PCH processing when only generating preprocessor…
Aug 17 2018, 6:44 AM
erichkeane closed D50640: Fix for bug 38508 - Don't do PCH processing when only generating preprocessor output.
Aug 17 2018, 6:44 AM

Aug 15 2018

erichkeane accepted D50643: [AST] Pack the bits of TemplateSpecializationType into Type.
Aug 15 2018, 7:13 AM · Restricted Project
erichkeane accepted D50711: [AST] Pack the unsigned of PackExpansionType into Type.
Aug 15 2018, 7:11 AM · Restricted Project
erichkeane accepted D50712: [AST] Pack the unsigned of DependentTemplateSpecializationType into Type.
Aug 15 2018, 7:02 AM · Restricted Project
erichkeane accepted D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type.

Sorry about the long discussion on the comment... These bitfields are just hell on the next guy through if he doesn't have the context/knowledge of what are appropriate sizes.

Aug 15 2018, 6:59 AM · Restricted Project
erichkeane added a comment to D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type.

The thing is that I have no idea what is the minimum number
of bits required. It was originally an unsigned but I suspect that
32 bits are not needed. Looking at [implimits] I see

Template arguments in a template declaration [1 024].
Recursively nested template instantiations, including substitution during template argument deduc-
tion (17.8.2) [1 024].

But 1024 seems to be too small and easily exceeded by a doing a bit
of template meta-programming.

Aug 15 2018, 6:23 AM · Restricted Project
erichkeane added inline comments to D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type.
Aug 15 2018, 5:55 AM · Restricted Project

Aug 14 2018

erichkeane added inline comments to D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type.
Aug 14 2018, 9:04 AM · Restricted Project
erichkeane accepted D50712: [AST] Pack the unsigned of DependentTemplateSpecializationType into Type.
Aug 14 2018, 9:02 AM · Restricted Project
erichkeane accepted D50711: [AST] Pack the unsigned of PackExpansionType into Type.
Aug 14 2018, 8:59 AM · Restricted Project

Aug 13 2018

erichkeane committed rL339597: Enforce instantiation of template multiversion functions.
Enforce instantiation of template multiversion functions
Aug 13 2018, 11:34 AM
erichkeane committed rC339597: Enforce instantiation of template multiversion functions.
Enforce instantiation of template multiversion functions
Aug 13 2018, 11:34 AM
erichkeane accepted D50643: [AST] Pack the bits of TemplateSpecializationType into Type.

Ah, right. I missed that the others already do it. Fine I guess...

Aug 13 2018, 10:13 AM · Restricted Project
erichkeane added a comment to D50643: [AST] Pack the bits of TemplateSpecializationType into Type.

I think that this causes UB. The Type baseclass will use the TypeBitfields active member, but this uses the TemplateSpecializationTypeBits, right? I know we take advantage of this elsewhere, but I'm tentative about this one...

Aug 13 2018, 10:02 AM · Restricted Project
erichkeane accepted D50630: [AST] Update/correct the static_asserts for the bit-fields in Type.
Aug 13 2018, 9:10 AM · Restricted Project
erichkeane updated subscribers of D50631: [AST] Stuff more data into FunctionTypeBitfields.
Aug 13 2018, 6:07 AM · Restricted Project
erichkeane added inline comments to D50630: [AST] Update/correct the static_asserts for the bit-fields in Type.
Aug 13 2018, 6:01 AM · Restricted Project

Aug 9 2018

erichkeane committed rC339389: Fix and recommit r339382 based on solution from RSmith:.
Fix and recommit r339382 based on solution from RSmith:
Aug 9 2018, 2:19 PM
erichkeane committed rL339389: Fix and recommit r339382 based on solution from RSmith:.
Fix and recommit r339382 based on solution from RSmith:
Aug 9 2018, 2:18 PM
erichkeane committed rC339387: Revert -r339382, which apparently breaks the Windows build..
Revert -r339382, which apparently breaks the Windows build.
Aug 9 2018, 2:14 PM
erichkeane committed rL339387: Revert -r339382, which apparently breaks the Windows build..
Revert -r339382, which apparently breaks the Windows build.
Aug 9 2018, 2:14 PM
erichkeane committed rL339383: [NFC] Complete the rule-of-5 for ParsedAttr.
[NFC] Complete the rule-of-5 for ParsedAttr
Aug 9 2018, 2:05 PM
erichkeane committed rC339383: [NFC] Complete the rule-of-5 for ParsedAttr.
[NFC] Complete the rule-of-5 for ParsedAttr
Aug 9 2018, 2:05 PM
erichkeane committed rC339382: [NFC] Simplify 'friend' declaration in ParsedAttr.
[NFC] Simplify 'friend' declaration in ParsedAttr
Aug 9 2018, 2:04 PM
erichkeane committed rL339382: [NFC] Simplify 'friend' declaration in ParsedAttr.
[NFC] Simplify 'friend' declaration in ParsedAttr
Aug 9 2018, 2:04 PM
erichkeane accepted D50532: Fix a wrong type bug in ParsedAttr::TypeTagForDatatypeData.
Aug 9 2018, 1:27 PM · Restricted Project
erichkeane committed rC339380: [NFC] Convert ParsedAttr to use llvm::TrailingObjects.
[NFC] Convert ParsedAttr to use llvm::TrailingObjects
Aug 9 2018, 1:26 PM
erichkeane committed rL339380: [NFC] Convert ParsedAttr to use llvm::TrailingObjects.
[NFC] Convert ParsedAttr to use llvm::TrailingObjects
Aug 9 2018, 1:25 PM
erichkeane closed D50531: [NFC] Convert ParsedAttr to use llvm::TrailingObjects.
Aug 9 2018, 1:25 PM
erichkeane added inline comments to D50531: [NFC] Convert ParsedAttr to use llvm::TrailingObjects.
Aug 9 2018, 1:07 PM
erichkeane created D50531: [NFC] Convert ParsedAttr to use llvm::TrailingObjects.
Aug 9 2018, 1:02 PM
erichkeane committed rL339344: Implement diagnostic stream operator for ParsedAttr..
Implement diagnostic stream operator for ParsedAttr.
Aug 9 2018, 6:22 AM
erichkeane committed rC339344: Implement diagnostic stream operator for ParsedAttr..
Implement diagnostic stream operator for ParsedAttr.
Aug 9 2018, 6:22 AM
erichkeane abandoned D50390: [SEMA]Uniform printing of Attributes.

After talking to Aaron, we're going to try to use the lexical names for ALL cases. This requires a bunch of of accessory work (in order to get the Identifier from the SourceRange), so it'll be split up into a couple of commits and done separately. I'll likely do the part that gives Attr a diagnostic operator<< as an NFC change in the near future.

Aug 9 2018, 5:55 AM

Aug 8 2018

erichkeane accepted D50471: [Builtins] Add __bulitin_clrsb support to IntExprEvaluator::VisitBuiltinCallExpr.

Looks easy enough, just note the test issue.

Aug 8 2018, 1:36 PM

Aug 7 2018

erichkeane added inline comments to D50390: [SEMA]Uniform printing of Attributes.
Aug 7 2018, 8:52 AM
erichkeane created D50390: [SEMA]Uniform printing of Attributes.
Aug 7 2018, 8:47 AM

Aug 6 2018

erichkeane committed rL339039: [NFC] Remove TODO comment that no longer applies (ParsedAttr).
[NFC] Remove TODO comment that no longer applies (ParsedAttr)
Aug 6 2018, 11:12 AM
erichkeane committed rC339039: [NFC] Remove TODO comment that no longer applies (ParsedAttr).
[NFC] Remove TODO comment that no longer applies (ParsedAttr)
Aug 6 2018, 11:12 AM
erichkeane added a comment to D40218: [Clang] Add __builtin_launder.

Bump! I don't see anything here that seems questionable (and this has extensive testing), but I presume @rsmith should be the final one to approve.

Aug 6 2018, 6:53 AM
erichkeane accepted D50261: [AST] Remove unnecessary indirections in DeclarationNameTable.
Aug 6 2018, 6:00 AM · Restricted Project

Aug 3 2018

erichkeane committed rC338909: [NFC] Initialize a variable to prevent future invalid deref..
[NFC] Initialize a variable to prevent future invalid deref.
Aug 3 2018, 11:09 AM
erichkeane committed rL338909: [NFC] Initialize a variable to prevent future invalid deref..
[NFC] Initialize a variable to prevent future invalid deref.
Aug 3 2018, 11:09 AM
erichkeane added a comment to D50261: [AST] Remove unnecessary indirections in DeclarationNameTable.

It seems to me that the increased size of DeclarationNameTable is irrelevant since it is
only used as a member in ASTContext and never copied nor moved from. Also,
at least for C++ it seems to me that this structure is never "rarely used" since it is
used for every overloaded op/ctor/dtor (but I admit that I am not familiar with Sema)

Aug 3 2018, 10:38 AM · Restricted Project
erichkeane added a comment to D50261: [AST] Remove unnecessary indirections in DeclarationNameTable.

On the face, this seems to be a nice patch. Removing extra allocations and replacing them with the stack is a good thing IMO. This is clearly an example of PIMPL, which while it has its advantages, performance is typically a hit. My 2 concerns with this are:

Aug 3 2018, 9:55 AM · Restricted Project
erichkeane committed rL338893: revert r338831 - Fix unused variable warning in tablegen generated code.
revert r338831 - Fix unused variable warning in tablegen generated code
Aug 3 2018, 7:25 AM
erichkeane committed rC338893: revert r338831 - Fix unused variable warning in tablegen generated code.
revert r338831 - Fix unused variable warning in tablegen generated code
Aug 3 2018, 7:24 AM
erichkeane added inline comments to D50250: [clang][ubsan] Implicit Conversion Sanitizer - integer sign change - clang part.
Aug 3 2018, 7:17 AM · Restricted Project, Restricted Project
erichkeane committed rL338889: [NFCI] My attempt to fix a warning in r338886 broke the build! Fix it..
[NFCI] My attempt to fix a warning in r338886 broke the build! Fix it.
Aug 3 2018, 6:52 AM
erichkeane committed rC338889: [NFCI] My attempt to fix a warning in r338886 broke the build! Fix it..
[NFCI] My attempt to fix a warning in r338886 broke the build! Fix it.
Aug 3 2018, 6:52 AM
erichkeane added inline comments to D50250: [clang][ubsan] Implicit Conversion Sanitizer - integer sign change - clang part.
Aug 3 2018, 6:50 AM · Restricted Project, Restricted Project
erichkeane added inline comments to D50250: [clang][ubsan] Implicit Conversion Sanitizer - integer sign change - clang part.
Aug 3 2018, 6:42 AM · Restricted Project, Restricted Project
erichkeane committed rC338886: [NFC] Fix unused expression warning introduced in r338884.
[NFC] Fix unused expression warning introduced in r338884
Aug 3 2018, 6:23 AM
erichkeane committed rL338886: [NFC] Fix unused expression warning introduced in r338884.
[NFC] Fix unused expression warning introduced in r338884
Aug 3 2018, 6:23 AM
erichkeane committed rC338884: [NFC] Silence unused variable warning in Attr.td/AttrParsedAttrImpl.inc.
[NFC] Silence unused variable warning in Attr.td/AttrParsedAttrImpl.inc
Aug 3 2018, 6:01 AM
erichkeane committed rL338884: [NFC] Silence unused variable warning in Attr.td/AttrParsedAttrImpl.inc.
[NFC] Silence unused variable warning in Attr.td/AttrParsedAttrImpl.inc
Aug 3 2018, 6:01 AM
erichkeane added a comment to D50214: Add inherited attributes before parsed attributes..

IMO, I think this (and the next 2 numerically), show to me that we have too much dependence on the order of attributes, which all of these show is not a reliable thing to count on. I quite dislike this as well, and think this is going to lead us to chasing these same issues forever.

Aug 3 2018, 5:57 AM
erichkeane added a comment to D48100: Append new attributes to the end of an AttributeList..

I have two approaches to tackle the wrong marker order: D50215 and D50216. IMHO both are too invasive to be justified for the small issue.

Aug 3 2018, 5:53 AM

Aug 2 2018

erichkeane added a comment to D50163: [AST] Remove the static_assert check in ObjCMethodDecl::ObjCMethodDecl.

@bricci : This likely needs to be moved into the bitfield section I think. We had a couple of other static-asserts that moved, so this is likely one of them.

Aug 2 2018, 6:28 AM · Restricted Project
erichkeane added a comment to D48100: Append new attributes to the end of an AttributeList..

Assuming that @aaron.ballman is still okay with this, I think that we should move forward. @erichkeane, I suspect that fixing the ordering problems, which were often arbitrary before and are still so, is a larger change that we'd want to split out regardless (not to mention the fact that we'd need to decide how to fix them). Erich, is that alright with you?

Aug 2 2018, 6:19 AM

Aug 1 2018

erichkeane committed rC338641: [AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into….
[AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into…
Aug 1 2018, 2:31 PM
erichkeane committed rL338641: [AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into….
[AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into…
Aug 1 2018, 2:31 PM
erichkeane closed D49734: [AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into DeclContext.
Aug 1 2018, 2:31 PM · Restricted Project
erichkeane committed rL338639: [AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and….
[AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and…
Aug 1 2018, 2:17 PM
erichkeane committed rC338639: [AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and….
[AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and…
Aug 1 2018, 2:17 PM
erichkeane closed D49733: [AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and OMPDeclareReductionDecl into DeclContext.
Aug 1 2018, 2:17 PM · Restricted Project
erichkeane committed rL338636: [AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into….
[AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into…
Aug 1 2018, 2:03 PM
erichkeane committed rC338636: [AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into….
[AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into…
Aug 1 2018, 2:03 PM
erichkeane closed D49732: [AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into DeclContext.
Aug 1 2018, 2:03 PM · Restricted Project
erichkeane committed rL338630: [AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into….
[AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into…
Aug 1 2018, 1:49 PM
erichkeane committed rC338630: [AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into….
[AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into…
Aug 1 2018, 1:48 PM
erichkeane closed D49729: [AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into DeclContext.
Aug 1 2018, 1:48 PM · Restricted Project
erichkeane added inline comments to D48100: Append new attributes to the end of an AttributeList..
Aug 1 2018, 1:13 PM
erichkeane accepted D49734: [AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl into DeclContext.
Aug 1 2018, 10:54 AM · Restricted Project
erichkeane accepted D49733: [AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and OMPDeclareReductionDecl into DeclContext.
Aug 1 2018, 10:54 AM · Restricted Project