erichkeane (Erich Keane)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2016, 8:37 AM (107 w, 2 d)

Recent Activity

Today

erichkeane committed rC337473: Fix unused variable warning..
Fix unused variable warning.
Thu, Jul 19, 10:24 AM
erichkeane committed rL337473: Fix unused variable warning..
Fix unused variable warning.
Thu, Jul 19, 10:24 AM
erichkeane added inline comments to D49466: Initial implementation of -fmacro-prefix-map and -ffile-prefix-map.
Thu, Jul 19, 8:56 AM
erichkeane committed rL337454: Enable C++2a Chrono Literals.
Enable C++2a Chrono Literals
Thu, Jul 19, 6:42 AM
erichkeane committed rC337454: Enable C++2a Chrono Literals.
Enable C++2a Chrono Literals
Thu, Jul 19, 6:42 AM
erichkeane closed D49504: Enable C++2a Chrono Literals.
Thu, Jul 19, 6:42 AM
erichkeane added inline comments to D49504: Enable C++2a Chrono Literals.
Thu, Jul 19, 6:23 AM
erichkeane added inline comments to D49504: Enable C++2a Chrono Literals.
Thu, Jul 19, 6:18 AM
erichkeane updated the diff for D49504: Enable C++2a Chrono Literals.

@aaron.ballman s comments.

Thu, Jul 19, 6:17 AM
erichkeane added inline comments to D49466: Initial implementation of -fmacro-prefix-map and -ffile-prefix-map.
Thu, Jul 19, 6:17 AM
erichkeane added inline comments to D49504: Enable C++2a Chrono Literals.
Thu, Jul 19, 6:01 AM

Yesterday

erichkeane updated the diff for D49504: Enable C++2a Chrono Literals.

@mclow.lists s comments.

Wed, Jul 18, 1:19 PM
erichkeane committed rC337420: Add support for __declspec(code_seg("segname")).
Add support for __declspec(code_seg("segname"))
Wed, Jul 18, 1:10 PM
erichkeane committed rL337420: Add support for __declspec(code_seg("segname")).
Add support for __declspec(code_seg("segname"))
Wed, Jul 18, 1:10 PM
erichkeane closed D48841: Add support for __declspec(code_seg("segname")).
Wed, Jul 18, 1:10 PM
erichkeane added a comment to D49504: Enable C++2a Chrono Literals.

This looks ok to me - I'm assuming that somewhere there's a test for int foo = 0x123d, so we're sure that didn't get broken.

Wed, Jul 18, 12:59 PM
erichkeane added inline comments to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.
Wed, Jul 18, 12:58 PM
erichkeane created D49504: Enable C++2a Chrono Literals.
Wed, Jul 18, 12:52 PM
erichkeane accepted D48841: Add support for __declspec(code_seg("segname")).

I've got a patch on deck in my environment, but I'll commit that when I'm done with it.

Wed, Jul 18, 11:55 AM
erichkeane added inline comments to D48841: Add support for __declspec(code_seg("segname")).
Wed, Jul 18, 11:42 AM
erichkeane added inline comments to D48841: Add support for __declspec(code_seg("segname")).
Wed, Jul 18, 10:54 AM
erichkeane added inline comments to D49466: Initial implementation of -fmacro-prefix-map and -ffile-prefix-map.
Wed, Jul 18, 10:32 AM
erichkeane added a comment to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

Wed, Jul 18, 7:19 AM
erichkeane updated the diff for D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

All of @aaron.ballman s comments have been dealt with except for Cpus->CPUs in the Attr.td file for explained reasons. Still negotiable :)

Wed, Jul 18, 7:19 AM
erichkeane updated subscribers of D49403: More aggressively complete RecordTypes with Function Pointers.

Can you explain why this is important for the optimizer?

Wed, Jul 18, 6:18 AM
erichkeane committed rL337388: Clear properties inadvertantly added to tests in R336379.
Clear properties inadvertantly added to tests in R336379
Wed, Jul 18, 6:12 AM
erichkeane committed rC337388: Clear properties inadvertantly added to tests in R336379.
Clear properties inadvertantly added to tests in R336379
Wed, Jul 18, 6:12 AM

Tue, Jul 17

erichkeane requested changes to D48841: Add support for __declspec(code_seg("segname")).
Tue, Jul 17, 7:15 AM

Mon, Jul 16

erichkeane added a reviewer for D49403: More aggressively complete RecordTypes with Function Pointers: olga.a.chupina.
Mon, Jul 16, 2:50 PM
erichkeane created D49403: More aggressively complete RecordTypes with Function Pointers.
Mon, Jul 16, 2:49 PM
erichkeane added a comment to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

Bump! Would love to have someone take a look!

Mon, Jul 16, 2:25 PM
erichkeane accepted D49327: [Fixed Point Arithmetic] Fix for bug where integer literals could be treated as fixed point literals.
Mon, Jul 16, 6:07 AM · Restricted Project

Fri, Jul 13

erichkeane committed rC337036: PR15730/PR16986 Allow dependently typed vector_size types..
PR15730/PR16986 Allow dependently typed vector_size types.
Fri, Jul 13, 12:51 PM
erichkeane committed rL337036: PR15730/PR16986 Allow dependently typed vector_size types..
PR15730/PR16986 Allow dependently typed vector_size types.
Fri, Jul 13, 12:51 PM
erichkeane closed D49045: PR15730/PR16986 Allow dependently typed vector_size types..
Fri, Jul 13, 12:51 PM
erichkeane added a comment to D46915: [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals.

See this bug here: https://bugs.llvm.org/show_bug.cgi?id=38161

This patch doesn't seem to properly consider integers, and ignores octals, which I suspect shouldn't be the case.

I just requested an account on bugs.llvm.org and will respond here for now until I can comment on the thread there.

So the syntax for fixed point literals should be the same as that for floating point constants according to clause 6.4.4.2a in the embedded C spec (http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1169.pdf). Integers and octal literals should not be supported since floating point literals can only be declared in decimal or hexadecimal notation.

Fri, Jul 13, 12:50 PM · Restricted Project
erichkeane added a comment to D46915: [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals.

See this bug here: https://bugs.llvm.org/show_bug.cgi?id=38161

Fri, Jul 13, 12:06 PM · Restricted Project
erichkeane added inline comments to D49045: PR15730/PR16986 Allow dependently typed vector_size types..
Fri, Jul 13, 10:03 AM
erichkeane updated the diff for D49045: PR15730/PR16986 Allow dependently typed vector_size types..
Fri, Jul 13, 10:02 AM
erichkeane committed rC337005: [NFC] Rename clang::AttributeList to clang::ParsedAttr.
[NFC] Rename clang::AttributeList to clang::ParsedAttr
Fri, Jul 13, 8:13 AM
erichkeane committed rL337005: [NFC] Rename clang::AttributeList to clang::ParsedAttr.
[NFC] Rename clang::AttributeList to clang::ParsedAttr
Fri, Jul 13, 8:12 AM
erichkeane committed rL337002: Add parens to silence Wparentheses warning, introduced by 336990.
Add parens to silence Wparentheses warning, introduced by 336990
Fri, Jul 13, 7:48 AM
erichkeane committed rL337001: [NFC] Silence Wparentheses warning in DomTreeUpdater, introduced by 336968.
[NFC] Silence Wparentheses warning in DomTreeUpdater, introduced by 336968
Fri, Jul 13, 7:46 AM

Thu, Jul 12

erichkeane closed D48788: AttributeList de-listifying:.
Thu, Jul 12, 2:15 PM
erichkeane added 1 commit(s) for D48788: AttributeList de-listifying:: rC336945: AttributeList de-listifying:.
Thu, Jul 12, 2:14 PM
erichkeane added an edge to rC336945: AttributeList de-listifying:: D48788: AttributeList de-listifying:.
Thu, Jul 12, 2:14 PM
erichkeane committed rC336945: AttributeList de-listifying:.
AttributeList de-listifying:
Thu, Jul 12, 2:14 PM
erichkeane committed rL336945: AttributeList de-listifying:.
AttributeList de-listifying:
Thu, Jul 12, 2:14 PM

Wed, Jul 11

erichkeane committed rL336836: [NFC] Replace usage of QualType.getTypePtr()-> with operator->.
[NFC] Replace usage of QualType.getTypePtr()-> with operator->
Wed, Jul 11, 12:14 PM
erichkeane committed rC336836: [NFC] Replace usage of QualType.getTypePtr()-> with operator->.
[NFC] Replace usage of QualType.getTypePtr()-> with operator->
Wed, Jul 11, 12:14 PM
erichkeane added a comment to D48788: AttributeList de-listifying:.

@aaron.ballman any more feedback here? Or am I good to go?

Wed, Jul 11, 10:57 AM

Tue, Jul 10

erichkeane committed rC336729: [NFC] Switch CodeGenFunction to use value init instead of member init lists.
[NFC] Switch CodeGenFunction to use value init instead of member init lists
Tue, Jul 10, 2:12 PM
erichkeane committed rL336729: [NFC] Switch CodeGenFunction to use value init instead of member init lists.
[NFC] Switch CodeGenFunction to use value init instead of member init lists
Tue, Jul 10, 2:12 PM
erichkeane committed rC336727: Revert -r336726, which included more files than intended..
Revert -r336726, which included more files than intended.
Tue, Jul 10, 1:57 PM
erichkeane committed rL336727: Revert -r336726, which included more files than intended..
Revert -r336726, which included more files than intended.
Tue, Jul 10, 1:56 PM
erichkeane committed rC336726: [NFC] Switch CodeGenFunction to use value init instead of member init lists.
[NFC] Switch CodeGenFunction to use value init instead of member init lists
Tue, Jul 10, 1:52 PM
erichkeane committed rL336726: [NFC] Switch CodeGenFunction to use value init instead of member init lists.
[NFC] Switch CodeGenFunction to use value init instead of member init lists
Tue, Jul 10, 1:52 PM

Mon, Jul 9

erichkeane updated the diff for D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

@lebedev.ri 's comments, plus a rebase.

Mon, Jul 9, 8:04 AM
erichkeane added a comment to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

Some drive-by nits.
General observation: this is kinda large.
I would personally split split off the codegen part into a second patch.

Mon, Jul 9, 8:03 AM
erichkeane added a comment to D47073: Document and Enforce new Host Compiler Policy.

I like the idea of having CMake warn users about older host toolchains that are at risk of ceasing to be supported. I might target the warning point at 2 years rather than 1.5 years though.

1.5 is derived from the '3 year' limit here. We were intending to make sure that this would warn for users for at least 'a version or two'. 2 years would likely still work since we'd have a release between the 2 and 3 years. THAT SAID, I'd be very much against a warning without some sort of date-based rule in place. Otherwise all we end up doing is making it so that changing our required compiler version become a 2 year+ long process, since we'd need to warn for that long.

Mon, Jul 9, 6:54 AM
erichkeane added a comment to D45383: Limit types of builtins that can be redeclared..

I'm curious why that file is declaring the builtin like that? The declaration doesn't seem like it is ever useful, builtins are available without any includes/etc as far back as I could go on all 3 compilers that I validated against.

Mon, Jul 9, 6:27 AM · Restricted Project

Fri, Jul 6

erichkeane created D49045: PR15730/PR16986 Allow dependently typed vector_size types..
Fri, Jul 6, 2:56 PM
erichkeane added a comment to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

Bump!

Fri, Jul 6, 2:48 PM

Thu, Jul 5

erichkeane committed rC336380: Add PCH tests for R336379.
Add PCH tests for R336379
Thu, Jul 5, 10:28 AM
erichkeane committed rL336380: Add PCH tests for R336379.
Add PCH tests for R336379
Thu, Jul 5, 10:28 AM
erichkeane committed rC336379: [clang-cl, PCH] Implement support for MS-style PCH through headers.
[clang-cl, PCH] Implement support for MS-style PCH through headers
Thu, Jul 5, 10:27 AM
erichkeane committed rL336379: [clang-cl, PCH] Implement support for MS-style PCH through headers.
[clang-cl, PCH] Implement support for MS-style PCH through headers
Thu, Jul 5, 10:27 AM
erichkeane closed D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers.
Thu, Jul 5, 10:27 AM
erichkeane closed D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers.
Thu, Jul 5, 10:27 AM
erichkeane committed rC336364: Fix __builtin_*_overflow when out-param isn't constexpr.
Fix __builtin_*_overflow when out-param isn't constexpr
Thu, Jul 5, 8:58 AM
erichkeane committed rL336364: Fix __builtin_*_overflow when out-param isn't constexpr.
Fix __builtin_*_overflow when out-param isn't constexpr
Thu, Jul 5, 8:57 AM
erichkeane added inline comments to D48788: AttributeList de-listifying:.
Thu, Jul 5, 7:49 AM
erichkeane updated the diff for D48788: AttributeList de-listifying:.

I think I got all of @aaron.ballman s comments.

Thu, Jul 5, 7:49 AM

Tue, Jul 3

erichkeane committed rC336225: Fix allocation of Nullability attribute..
Fix allocation of Nullability attribute.
Tue, Jul 3, 1:35 PM
erichkeane committed rL336225: Fix allocation of Nullability attribute..
Fix allocation of Nullability attribute.
Tue, Jul 3, 1:35 PM
erichkeane updated the diff for D48788: AttributeList de-listifying:.

Thanks for the review! I fixed the two nits. I'm definitely going to wait for @aaron.ballman to give the final approval, he's promised me a slice of his time when he gets a chance :)

Tue, Jul 3, 9:17 AM
erichkeane added a comment to D48788: AttributeList de-listifying:.

Forgot to answer this before:

How do you intend to commit it? Just merging with D48100 into a single commit?

Tue, Jul 3, 6:17 AM
erichkeane updated the diff for D48788: AttributeList de-listifying:.
Tue, Jul 3, 6:14 AM
erichkeane added a comment to D48788: AttributeList de-listifying:.

All tests pass!

Very cool, thank you!

In D48100, @echristo mentioned that it broke test/Sema/attr-target-mv.c. No tests are changed here (so it's a NFC patch?), i.e. this is not fixed yet? The test case could be adapted by just changing the order of __vectorcall and __attribute__((target to emit the same message as before.

How do you intend to commit it? Just merging with D48100 into a single commit?

Tue, Jul 3, 6:12 AM

Mon, Jul 2

erichkeane updated the diff for D48788: AttributeList de-listifying:.

All tests pass!

Mon, Jul 2, 2:56 PM
erichkeane added a comment to D48788: AttributeList de-listifying:.

Would it be possible (not in this patch) to consolidate the different lists of attributes: ParsedAttributes, AttributeFactory, AttributeList, AttributePool, NonOwningParsedAttributes, NonOwningParsedAttributesWithRange? Naively, expect to use something like std::vector<Attribute*>. Currently AttributeList can be a single attribute as well as a list of attributes.

Mon, Jul 2, 10:22 AM
erichkeane updated the diff for D48788: AttributeList de-listifying:.

Fix things found by @Meinersbur

Mon, Jul 2, 10:22 AM
erichkeane updated the diff for D48788: AttributeList de-listifying:.

This patch rebases, since I didn't have @Meinersbur s revert. Additionally, I fix a couple of stupid errors, and get failure count down to 47!

Mon, Jul 2, 8:46 AM
erichkeane updated the diff for D48788: AttributeList de-listifying:.

Running through Aaron's first set of comments.

Mon, Jul 2, 6:32 AM
erichkeane added a comment to D48788: AttributeList de-listifying:.

One question that came to my mind is whether we should be attempting to add some better const correctness as part of this refactoring. This part of the code has always been unsatisfactory in that regard and I think the lack of const correctness is part of why the semantics here are as muddled as they are. If we add more const correctness, the patch is likely to grow even larger, but it may also point out the areas where we're doing something questionable when there's now a better way.

Mon, Jul 2, 6:31 AM

Fri, Jun 29

erichkeane added a comment to D48788: AttributeList de-listifying:.

The most interesting changes are in AttributeList.h. I also forgot to mention: I'd love to be more aggressive about the ownership semantics (in fact, my first 2 attempts were much stricter), however we make a lot of assumptions based on the ability to pass attribute lists between functions and have them modify on eachother. I'm hoping the tests that fail aren't too related to being able to modify the list for a different ParsedAttributes collection.

Fri, Jun 29, 1:55 PM
erichkeane created D48788: AttributeList de-listifying:.
Fri, Jun 29, 1:53 PM

Mon, Jun 25

erichkeane added a comment to D48100: Append new attributes to the end of an AttributeList..

This patch appears to have at least caused us to process attributes too many times in some cases. For example:

__attribute__((noreturn,noinline,unused)) void f();

before your patch gives this with clang -Xclang -ast-dump:

`-FunctionDecl 0xccef1e0 <<stdin>:1:1, col:50> col:48 f 'void () __attribute__((noreturn))'
  |-UnusedAttr 0xccef280 <col:34> unused
  `-NoInlineAttr 0xccef2c8 <col:25>

and after your patch gives this:

`-FunctionDecl 0xb913740 <<stdin>:1:1, col:50> col:48 f 'void () __attribute__((noreturn))'
  |-NoInlineAttr 0xb9137e0 <col:25>
  |-UnusedAttr 0xb913828 <col:34> unused
  |-NoInlineAttr 0xb913838 <col:25>
  `-UnusedAttr 0xb913848 <col:34> unused
Mon, Jun 25, 2:53 PM
erichkeane added inline comments to D48100: Append new attributes to the end of an AttributeList..
Mon, Jun 25, 2:35 PM

Fri, Jun 22

erichkeane committed rC335372: [NFC] Fix AttributeList allocated_size for ParsedType..
[NFC] Fix AttributeList allocated_size for ParsedType.
Fri, Jun 22, 10:39 AM
erichkeane committed rL335372: [NFC] Fix AttributeList allocated_size for ParsedType..
[NFC] Fix AttributeList allocated_size for ParsedType.
Fri, Jun 22, 10:39 AM

Wed, Jun 20

erichkeane added a comment to D47073: Document and Enforce new Host Compiler Policy.

So, how about it? Just compiler versions for now, but hopefully this will give us the ability to use better standards versions.

Wed, Jun 20, 8:06 AM

Jun 15 2018

erichkeane added a comment to D47474: Implement cpu_dispatch/cpu_specific Multiversioning.

Just a quick bump, I know most of you are still recovering from the Switzerland trip, but hopefully the others will have some time.

Jun 15 2018, 5:55 AM

Jun 13 2018

erichkeane committed rC334652: Simplify test from r334650.
Simplify test from r334650
Jun 13 2018, 1:51 PM
erichkeane committed rL334652: Simplify test from r334650.
Simplify test from r334650
Jun 13 2018, 1:51 PM
erichkeane committed rC334650: Implement constexpr __builtin_*_overflow.
Implement constexpr __builtin_*_overflow
Jun 13 2018, 1:48 PM
erichkeane committed rL334650: Implement constexpr __builtin_*_overflow.
Implement constexpr __builtin_*_overflow
Jun 13 2018, 1:48 PM
erichkeane closed D48040: Implement constexpr __builtin_*_overflow.
Jun 13 2018, 1:48 PM
erichkeane added a comment to D48040: Implement constexpr __builtin_*_overflow.

I believe my tests DO validate the return value correctly, don't they? It uses a sentinel, but the ternary should check that return value, right?

Jun 13 2018, 11:44 AM
erichkeane updated the diff for D48040: Implement constexpr __builtin_*_overflow.

Separated out the other patch as Eli suggested (which has now been committed), and rebased this patch on top of it.

Jun 13 2018, 6:56 AM