erichkeane (Erich Keane)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2016, 8:37 AM (73 w, 1 h)

Recent Activity

Yesterday

erichkeane added a reviewer for D40224: [X86] Control-Flow Enforcement Technology - Shadow Stack and Indirect Branch Tracking support (Clang side): craig.topper.
Mon, Nov 20, 3:57 PM
erichkeane committed rCTE318702: Revert 318668, which is associated with a broken patch.
Revert 318668, which is associated with a broken patch
Mon, Nov 20, 2:10 PM
erichkeane added a reverting commit for rCTE318668: extra test modifications for D34158: rCTE318702: Revert 318668, which is associated with a broken patch.
Mon, Nov 20, 2:10 PM
erichkeane added a reverting commit for rL318668: extra test modifications for D34158: rL318702: Revert 318668, which is associated with a broken patch.
Mon, Nov 20, 2:10 PM
erichkeane committed rL318702: Revert 318668, which is associated with a broken patch.
Revert 318668, which is associated with a broken patch
Mon, Nov 20, 2:10 PM
erichkeane committed rL318698: Revert r318669/318694.
Revert r318669/318694
Mon, Nov 20, 1:46 PM
erichkeane committed rL318694: Include test files for rL318668.
Include test files for rL318668
Mon, Nov 20, 1:15 PM
erichkeane committed rCTE318668: extra test modifications for D34158.
extra test modifications for D34158
Mon, Nov 20, 9:59 AM
erichkeane committed rL318669: For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available.
For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available
Mon, Nov 20, 9:59 AM
erichkeane closed D34158: For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available by committing rL318669: For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available.
Mon, Nov 20, 9:59 AM
erichkeane committed rL318668: extra test modifications for D34158.
extra test modifications for D34158
Mon, Nov 20, 9:59 AM
erichkeane closed D34624: extra test modifications for D34158 by committing rL318668: extra test modifications for D34158.
Mon, Nov 20, 9:59 AM · Restricted Project
erichkeane added inline comments to D40224: [X86] Control-Flow Enforcement Technology - Shadow Stack and Indirect Branch Tracking support (Clang side).
Mon, Nov 20, 8:45 AM

Thu, Nov 16

erichkeane added a comment to D39347: Fix __has_unique_object_representations based on rsmith's input.

Ping? This fixes a number of bugs with the previous implementation, so I'd like to see if we can get this in.

Thu, Nov 16, 10:54 AM

Wed, Nov 15

erichkeane added a comment to rL318345: Add X86Target.def that was forgotten in r30734.

And, of course, In this commit message I failed as well. Actual Revision is: r318343

Wed, Nov 15, 2:39 PM
erichkeane committed rL318345: Add X86Target.def that was forgotten in r30734.
Add X86Target.def that was forgotten in r30734
Wed, Nov 15, 2:36 PM
erichkeane committed rL318343: Split x86 "Processor" info into its own def file. [NFC].
Split x86 "Processor" info into its own def file. [NFC]
Wed, Nov 15, 2:26 PM
erichkeane closed D40093: Split x86 "Processor" info into its own def file. [NFC] by committing rL318343: Split x86 "Processor" info into its own def file. [NFC].
Wed, Nov 15, 2:26 PM
erichkeane updated the diff for D40093: Split x86 "Processor" info into its own def file. [NFC].

realized I had added amdfam17 as an alias, which
isn't supposed to happen. Also makes this NFC to
remove that.

Wed, Nov 15, 2:11 PM
erichkeane created D40093: Split x86 "Processor" info into its own def file. [NFC].
Wed, Nov 15, 11:33 AM

Tue, Nov 14

erichkeane committed rL318234: Simplify CpuIs code to use include from LLVM.
Simplify CpuIs code to use include from LLVM
Tue, Nov 14, 4:11 PM
erichkeane closed D40054: Simplify CpuIs code to use include from LLVM by committing rL318234: Simplify CpuIs code to use include from LLVM.
Tue, Nov 14, 4:11 PM
erichkeane updated the diff for D40054: Simplify CpuIs code to use include from LLVM.

Re-ran format on a few lines to make them more sane.

Tue, Nov 14, 3:53 PM
erichkeane abandoned D39521: [x86 TargetInfo] Pull CPU handling for the x86 TargetInfo into a .def file..

First, updated this incorrectly. Second, going to do this work over a few patches to take advantage of work that Craig did in the backend.

Tue, Nov 14, 3:53 PM
erichkeane updated the diff for D39521: [x86 TargetInfo] Pull CPU handling for the x86 TargetInfo into a .def file..

Re-ran clang-format, which now has more sane decisions in CGBuiltin.cpp

Tue, Nov 14, 3:47 PM
erichkeane added inline comments to D40054: Simplify CpuIs code to use include from LLVM.
Tue, Nov 14, 3:38 PM
erichkeane created D40054: Simplify CpuIs code to use include from LLVM.
Tue, Nov 14, 3:35 PM
erichkeane updated the diff for D39347: Fix __has_unique_object_representations based on rsmith's input.

Added a test for aligned bitfield, as @majnemer requested. Is this sufficient?

Tue, Nov 14, 12:28 PM
erichkeane updated the diff for D39347: Fix __has_unique_object_representations based on rsmith's input.

Fixed for bitfields. Review by anyone greatly appreciated :)

Tue, Nov 14, 11:15 AM

Tue, Nov 7

erichkeane added a comment to D39347: Fix __has_unique_object_representations based on rsmith's input.

Corrected version of the previous example:
struct S {
char a : 1;
char b : 2;
char c : 3;
char d : 2;
};
static_assert(sizeof(S) == 1, "size");
static_assert(__has_unique_object_representations(S), "error");

Tue, Nov 7, 9:00 AM
erichkeane added a comment to D39347: Fix __has_unique_object_representations based on rsmith's input.

Also, I should probably validate bitfields. The following SHOULD?! be unique?

Tue, Nov 7, 8:52 AM

Thu, Nov 2

erichkeane committed rL317268: Add default calling convention support for regcall..
Add default calling convention support for regcall.
Thu, Nov 2, 2:08 PM
erichkeane closed D39210: Add default calling convention support for regcall. by committing rL317268: Add default calling convention support for regcall..
Thu, Nov 2, 2:08 PM
erichkeane added inline comments to D39527: [X86] Add a .def file to contain information about mapping vendor/type/subtype to -march strings.
Thu, Nov 2, 7:46 AM

Wed, Nov 1

erichkeane added a comment to D39521: [x86 TargetInfo] Pull CPU handling for the x86 TargetInfo into a .def file..

Thanks, this looks like a nice cleanup. I wonder of some of the switches over CPUKind (setting default features and macros) could also be moved into the .def file, but let's get this landed first and then see if that looks like an improvement.

Wed, Nov 1, 5:46 PM
erichkeane added a comment to D38596: Implement attribute target multiversioning.

The big pain point here is that we don't know whether a function is multiversioned until we see the *second* version of it (or a declaration with no target attribute or a declaration with a "default" target), and we generally want our AST to be immutable-once-created. I don't see a good way to handle this except by mutating the AST when we see the second version (which leads to complexity, particularly around PCH -- you need to inform AST mutation listeners that this has happened and write a record out into the AST file to indicate you've updated an imported entity) -- or by treating any function with a target attribute as if it were multiversioned, and not treating a declaration with a body as being the definition until / unless we see the first use of it (which, again, leads to an AST mutation of some kind at that point).

Keeping the redeclaration chains separate would avoid this problem, but we'd still need to do *something* to track the set of versions of the function so we can emit them as part of the ifunc.

Wed, Nov 1, 5:36 PM
erichkeane created D39521: [x86 TargetInfo] Pull CPU handling for the x86 TargetInfo into a .def file..
Wed, Nov 1, 4:41 PM

Fri, Oct 27

erichkeane added a comment to D38596: Implement attribute target multiversioning.

Hi Richard, thanks for the review! I'll make another attempt with this based on your feedback, though if you could clarify your suggestion, it would be greatly appreciated.

Fri, Oct 27, 10:13 PM
erichkeane committed rL316784: Replace a few usages of llvm::join with range-version[NFC].
Replace a few usages of llvm::join with range-version[NFC]
Fri, Oct 27, 11:45 AM
erichkeane committed rL316783: Filter out invalid 'target' items from being passed to LLVM.
Filter out invalid 'target' items from being passed to LLVM
Fri, Oct 27, 11:33 AM
erichkeane closed D39357: Filter out invalid 'target' items from being passed to LLVM by committing rL316783: Filter out invalid 'target' items from being passed to LLVM.
Fri, Oct 27, 11:32 AM
erichkeane committed rL316781: Remove x86,x86_32/64 from isValidFeatureName.
Remove x86,x86_32/64 from isValidFeatureName
Fri, Oct 27, 11:29 AM
erichkeane closed D39378: Remove x86,x86_32/64 from isValidFeatureName by committing rL316781: Remove x86,x86_32/64 from isValidFeatureName.
Fri, Oct 27, 11:29 AM
erichkeane created D39378: Remove x86,x86_32/64 from isValidFeatureName.
Fri, Oct 27, 11:21 AM
erichkeane updated the diff for D39357: Filter out invalid 'target' items from being passed to LLVM.

Switched to llvm::remove_if(RANGE, lambda) instead of std::remove_if with begin/end per Craig's suggestion.

Fri, Oct 27, 11:18 AM
erichkeane updated the diff for D38596: Implement attribute target multiversioning.

Fix comment in Attr.td that @aaron.ballman brought up on IRC.

Fri, Oct 27, 10:14 AM
erichkeane updated the diff for D38596: Implement attribute target multiversioning.

Fixes for Aaron's comments.

Fri, Oct 27, 8:44 AM
erichkeane added inline comments to D38596: Implement attribute target multiversioning.
Fri, Oct 27, 8:42 AM

Thu, Oct 26

erichkeane added inline comments to D39357: Filter out invalid 'target' items from being passed to LLVM.
Thu, Oct 26, 6:34 PM
erichkeane created D39357: Filter out invalid 'target' items from being passed to LLVM.
Thu, Oct 26, 6:34 PM
erichkeane updated the diff for D38596: Implement attribute target multiversioning.

Realized I can put variables in an Attribute, so I put MV info in the Attribute rather than at the FD level.

Thu, Oct 26, 4:49 PM
erichkeane added a comment to D39347: Fix __has_unique_object_representations based on rsmith's input.

Added all of @rsmith's comments here, I believe I have them all and have properly responded to them.

Thu, Oct 26, 3:20 PM
erichkeane created D39347: Fix __has_unique_object_representations based on rsmith's input.
Thu, Oct 26, 3:14 PM
erichkeane updated the diff for D38596: Implement attribute target multiversioning.
Thu, Oct 26, 11:37 AM
erichkeane added a comment to D38596: Implement attribute target multiversioning.

I note my rebase lost the tests... I'll fix that up soon, sorry guys!

Thu, Oct 26, 11:14 AM

Wed, Oct 25

erichkeane committed rL316605: Ignore implicity casts for zero-as-null-pointer-constant warning.
Ignore implicity casts for zero-as-null-pointer-constant warning
Wed, Oct 25, 1:23 PM
erichkeane closed D39301: Ignore implicity casts for zero-as-null-pointer-constant warning by committing rL316605: Ignore implicity casts for zero-as-null-pointer-constant warning.
Wed, Oct 25, 1:23 PM
erichkeane added a comment to D39301: Ignore implicity casts for zero-as-null-pointer-constant warning.

They've got me presenting in the next meeting, but i'll add said test and commit after. Thanks for the reviews guys!

Wed, Oct 25, 11:53 AM
erichkeane updated the diff for D39301: Ignore implicity casts for zero-as-null-pointer-constant warning.

Lets ignore parens too!

Wed, Oct 25, 11:40 AM
erichkeane added inline comments to D39301: Ignore implicity casts for zero-as-null-pointer-constant warning.
Wed, Oct 25, 11:40 AM
erichkeane updated the diff for D39301: Ignore implicity casts for zero-as-null-pointer-constant warning.

Response to Roman's comment.

Wed, Oct 25, 11:25 AM
erichkeane created D39301: Ignore implicity casts for zero-as-null-pointer-constant warning.
Wed, Oct 25, 11:18 AM
erichkeane updated the diff for D38596: Implement attribute target multiversioning.

Just a quick rebase, there were a few changes in the area.

Wed, Oct 25, 10:06 AM

Tue, Oct 24

erichkeane committed rL316528: Correct behavior of fastcall when default CC is set..
Correct behavior of fastcall when default CC is set.
Tue, Oct 24, 4:12 PM
erichkeane committed rL316521: Replaced unicode characters with ASCII, as introduced in r316518..
Replaced unicode characters with ASCII, as introduced in r316518.
Tue, Oct 24, 3:00 PM
erichkeane committed rL316518: mplement __has_unique_object_representations.
mplement __has_unique_object_representations
Tue, Oct 24, 2:32 PM
erichkeane closed D39064: implement __has_unique_object_representations by committing rL316518: mplement __has_unique_object_representations.
Tue, Oct 24, 2:32 PM
erichkeane updated the diff for D39064: implement __has_unique_object_representations.

Adding tests for excluding dynamic types.

Tue, Oct 24, 1:49 PM
erichkeane added inline comments to D39064: implement __has_unique_object_representations.
Tue, Oct 24, 1:47 PM
erichkeane updated the diff for D39064: implement __has_unique_object_representations.

Based on @rnk s comments, I discovered that base-class handling is more difficult than I suspected! I added a couple more tests and am properly handling base classes.

Tue, Oct 24, 11:30 AM
erichkeane committed rL316453: Remove repeated function name in doxygen comment..
Remove repeated function name in doxygen comment.
Tue, Oct 24, 9:16 AM
erichkeane committed rL316447: Fix spelling in comment, field is isMsStruct, not Strust.
Fix spelling in comment, field is isMsStruct, not Strust
Tue, Oct 24, 8:35 AM
erichkeane added inline comments to D39064: implement __has_unique_object_representations.
Tue, Oct 24, 8:03 AM
erichkeane committed rL316437: Add Forgotten test for: Fix template parameter default args missed if redecled.
Add Forgotten test for: Fix template parameter default args missed if redecled
Tue, Oct 24, 6:52 AM
erichkeane added a comment to D39127: Fix template parameter default args missed if redecled.
In D39127#904685, @rnk wrote:

I think you forgot to svn add the test case

Tue, Oct 24, 6:52 AM

Mon, Oct 23

erichkeane committed rL316405: Fix template parameter default args missed if redecled.
Fix template parameter default args missed if redecled
Mon, Oct 23, 6:42 PM
erichkeane closed D39127: Fix template parameter default args missed if redecled by committing rL316405: Fix template parameter default args missed if redecled.
Mon, Oct 23, 6:42 PM
erichkeane added inline comments to D39064: implement __has_unique_object_representations.
Mon, Oct 23, 6:17 PM
erichkeane added inline comments to D39210: Add default calling convention support for regcall..
Mon, Oct 23, 6:17 PM
erichkeane added inline comments to D39210: Add default calling convention support for regcall..
Mon, Oct 23, 5:18 PM
erichkeane committed rL316338: Pull X86 "CPUKind" checking into .cpp file. [NFC].
Pull X86 "CPUKind" checking into .cpp file. [NFC]
Mon, Oct 23, 9:22 AM

Sun, Oct 22

erichkeane added inline comments to D39127: Fix template parameter default args missed if redecled.
Sun, Oct 22, 5:08 PM

Oct 22 2017

erichkeane added inline comments to D39127: Fix template parameter default args missed if redecled.
Oct 22 2017, 9:06 AM

Oct 20 2017

erichkeane committed rL316225: Allow /showIncludes with /P.
Allow /showIncludes with /P
Oct 20 2017, 12:21 PM
erichkeane closed D39104: Allow /showIncludes with /P by committing rL316225: Allow /showIncludes with /P.
Oct 20 2017, 12:20 PM
erichkeane updated subscribers of D39127: Fix template parameter default args missed if redecled.
Oct 20 2017, 10:46 AM
erichkeane created D39127: Fix template parameter default args missed if redecled.
Oct 20 2017, 9:04 AM

Oct 19 2017

erichkeane created D39104: Allow /showIncludes with /P.
Oct 19 2017, 12:23 PM
erichkeane committed rL316166: Fix nodiscard for volatile references.
Fix nodiscard for volatile references
Oct 19 2017, 8:59 AM
erichkeane closed D39075: Fix nodiscard for volatile references by committing rL316166: Fix nodiscard for volatile references.
Oct 19 2017, 8:59 AM

Oct 18 2017

erichkeane updated the diff for D39075: Fix nodiscard for volatile references.

Added function-pointer test.

Oct 18 2017, 3:51 PM
erichkeane added inline comments to D39064: implement __has_unique_object_representations.
Oct 18 2017, 3:50 PM
erichkeane added inline comments to D39075: Fix nodiscard for volatile references.
Oct 18 2017, 3:50 PM
erichkeane updated the diff for D39064: implement __has_unique_object_representations.
Oct 18 2017, 3:31 PM
erichkeane committed rL316132: Fix capitalization of parameter.
Fix capitalization of parameter
Oct 18 2017, 3:19 PM
erichkeane created D39075: Fix nodiscard for volatile references.
Oct 18 2017, 3:05 PM
erichkeane created D39064: implement __has_unique_object_representations.
Oct 18 2017, 11:29 AM
erichkeane added a comment to D38596: Implement attribute target multiversioning.

@rsmith and @rnk just a quick bump! I'd like to get your thoughts on the SEMA changes here.

Oct 18 2017, 10:51 AM

Oct 17 2017

erichkeane committed rL316030: [CFG] Relax Wexceptions warning on rethrow .
[CFG] Relax Wexceptions warning on rethrow
Oct 17 2017, 1:57 PM
erichkeane closed D39013: [CFG] Relax Wexceptions warning on rethrow by committing rL316030: [CFG] Relax Wexceptions warning on rethrow .
Oct 17 2017, 1:57 PM