Page MenuHomePhabricator

aemerson (Amara Emerson)
Asian George Costanza

Projects

User does not belong to any projects.

User Details

User Since
Sep 9 2013, 3:45 AM (314 w, 6 d)

The sea was angry that day, my friends - like an old man trying to send back soup in a deli.

Recent Activity

Sat, Sep 21

aemerson committed rG9c7d599dec9c: [AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64> (authored by aemerson).
[AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64>
Sat, Sep 21, 2:21 AM
aemerson committed rGa59a886832bd: [AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64> (authored by aemerson).
[AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64>
Sat, Sep 21, 2:21 AM
aemerson committed rGfae979bc682b: [AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal. (authored by aemerson).
[AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal.
Sat, Sep 21, 2:21 AM
aemerson committed rL372467: [AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64>.
[AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64>
Sat, Sep 21, 2:19 AM
aemerson committed rL372466: [AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64>.
[AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64>
Sat, Sep 21, 2:19 AM
aemerson committed rL372465: [AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal..
[AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal.
Sat, Sep 21, 2:19 AM
aemerson committed rG3bb56fa47890: Revert "[SampleFDO] Expose an interface to return the size of a section or the… (authored by aemerson).
Revert "[SampleFDO] Expose an interface to return the size of a section or the…
Sat, Sep 21, 2:12 AM
aemerson added a reverting change for rGf118852046a1: [SampleFDO] Expose an interface to return the size of a section or the size of…: rG3bb56fa47890: Revert "[SampleFDO] Expose an interface to return the size of a section or the….
Sat, Sep 21, 2:11 AM
aemerson committed rL372464: Revert "[SampleFDO] Expose an interface to return the size of a section or the….
Revert "[SampleFDO] Expose an interface to return the size of a section or the…
Sat, Sep 21, 2:11 AM

Fri, Sep 20

aemerson committed rG7ac1039957f9: [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time. (authored by aemerson).
[GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time.
Fri, Sep 20, 4:52 PM
aemerson committed rL372443: [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time..
[GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time.
Fri, Sep 20, 4:52 PM
aemerson closed D67868: [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time..
Fri, Sep 20, 4:52 PM · Restricted Project
aemerson created D67868: [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection time..
Fri, Sep 20, 3:59 PM · Restricted Project
aemerson added a comment to D67133: [GlobalISel]: Fix some non determinism exposed in CSE due to not notifying observers about mutations + add verification for CSE.

Ping. Can we combine the delegate and observer installers?

Fri, Sep 20, 2:23 PM · Restricted Project

Thu, Sep 19

aemerson closed D58232: GlobalISel: Don't materialize immarg arguments to intrinsics.
Thu, Sep 19, 1:40 PM
aemerson removed a reviewer for D58232: GlobalISel: Don't materialize immarg arguments to intrinsics: ab.

Removing Ahmed as reviewer so this can be closed.

Thu, Sep 19, 1:40 PM

Wed, Sep 18

aemerson accepted D67681: [AArch64][GlobalISel] Support lowering musttail calls.

LGTM.

Wed, Sep 18, 3:31 PM · Restricted Project
aemerson added inline comments to D67681: [AArch64][GlobalISel] Support lowering musttail calls.
Wed, Sep 18, 2:32 PM · Restricted Project

Tue, Sep 17

aemerson added a comment to D65656: AArch64: support @llvm.{return,frame}address in GlobalISel.

Ping. Can we get this in?

Tue, Sep 17, 11:58 AM · Restricted Project
aemerson accepted D67580: [AArch64][GlobalISel] Support -tailcallopt.
Tue, Sep 17, 11:58 AM · Restricted Project
aemerson added a comment to D67580: [AArch64][GlobalISel] Support -tailcallopt.

LGTM.

Tue, Sep 17, 10:36 AM · Restricted Project
aemerson accepted D67577: [AArch64][GlobalISel][NFC] Refactor tail call lowering code.

I hope we can refactor some of this in future to reduce code duplication.

Tue, Sep 17, 10:34 AM · Restricted Project

Mon, Sep 16

aemerson committed rG9d64721ca5bd: [GlobalISel] Partially revert r371901. (authored by aemerson).
[GlobalISel] Partially revert r371901.
Mon, Sep 16, 4:46 PM
aemerson committed rL372050: [GlobalISel] Partially revert r371901..
[GlobalISel] Partially revert r371901.
Mon, Sep 16, 4:46 PM

Fri, Sep 13

aemerson committed rG02bcc86b08dc: [GlobalISel] Fix insertion point of new instructions to be after PHIs. (authored by aemerson).
[GlobalISel] Fix insertion point of new instructions to be after PHIs.
Fri, Sep 13, 2:50 PM
aemerson committed rL371901: [GlobalISel] Fix insertion point of new instructions to be after PHIs..
[GlobalISel] Fix insertion point of new instructions to be after PHIs.
Fri, Sep 13, 2:49 PM
aemerson closed D67570: [GlobalISel] Fix insertion point of new instructions to be after PHIs.
Fri, Sep 13, 2:49 PM · Restricted Project
aemerson created D67570: [GlobalISel] Fix insertion point of new instructions to be after PHIs.
Fri, Sep 13, 2:13 PM · Restricted Project
aemerson accepted D67566: [AArch64][GlobalISel] Tail call memory intrinsics.
Fri, Sep 13, 1:07 PM · Restricted Project
aemerson added inline comments to D67566: [AArch64][GlobalISel] Tail call memory intrinsics.
Fri, Sep 13, 11:39 AM · Restricted Project

Thu, Sep 12

aemerson accepted D67518: [AArch64][GlobalISel] Add support for sibcalling callees with varargs.
Thu, Sep 12, 4:30 PM · Restricted Project
aemerson accepted D67511: [AArch64][GlobalISel] Support tail calling with swiftself parameters.

LGTM.

Thu, Sep 12, 2:53 PM · Restricted Project
aemerson accepted D67471: [AArch64][GlobalISel] Support sibling calls with outgoing arguments.

LGTM.

Thu, Sep 12, 2:44 PM · Restricted Project

Wed, Sep 11

aemerson accepted D58232: GlobalISel: Don't materialize immarg arguments to intrinsics.

LGTM. I think we should proceed with this given @ab's objection should be addressed now, and it's been half a year.

Wed, Sep 11, 10:30 PM
aemerson added inline comments to D67471: [AArch64][GlobalISel] Support sibling calls with outgoing arguments.
Wed, Sep 11, 10:24 PM · Restricted Project
aemerson closed D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.
Wed, Sep 11, 5:05 PM · Restricted Project
aemerson removed a reviewer for D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions: MarkMurrayARM.
Wed, Sep 11, 5:04 PM · Restricted Project
aemerson accepted D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.

I've fixed this in r371693.

Wed, Sep 11, 5:04 PM · Restricted Project
aemerson committed rG55d86f04c737: [AArch64][GlobalISel] Fall back on attempts to allocate split types on the… (authored by aemerson).
[AArch64][GlobalISel] Fall back on attempts to allocate split types on the…
Wed, Sep 11, 4:53 PM
aemerson committed rL371693: [AArch64][GlobalISel] Fall back on attempts to allocate split types on the….
[AArch64][GlobalISel] Fall back on attempts to allocate split types on the…
Wed, Sep 11, 4:52 PM
aemerson accepted D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Everything else seems reasonable to me.

Wed, Sep 11, 4:21 PM · Restricted Project
aemerson accepted D67465: [GlobalISel][AArch64] Check caller for swifterror params in tailcall eligibility.

LGTM.

Wed, Sep 11, 4:17 PM · Restricted Project

Tue, Sep 10

aemerson accepted D67415: [GlobalISel] When a tail call is emitted in a block, stop translating it.

LGTM with nit.

Tue, Sep 10, 4:25 PM · Restricted Project
aemerson accepted D67361: [AArch64][GlobalISel] Support sibling calls with mismatched calling conventions.

LGTM.

Tue, Sep 10, 3:52 PM · Restricted Project
aemerson added a comment to D60318: [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline..

We also detected some compile time regressions in the CTMark subset of the test suite, with lencod regressing by around 4-5%. I haven't fully bisected but the commit list was short and this seemed to be the only suspicious change.

Tue, Sep 10, 9:56 AM · Restricted Project
aemerson added a comment to D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.

Thanks for the report. I’ll investigate this tomorrow.

Tue, Sep 10, 2:03 AM · Restricted Project

Fri, Sep 6

aemerson committed rGa1cf4d9795f2: [AArch64][GlobalISel] Enable the localizer for optimized builds. (authored by aemerson).
[AArch64][GlobalISel] Enable the localizer for optimized builds.
Fri, Sep 6, 3:28 PM
aemerson committed rL371266: [AArch64][GlobalISel] Enable the localizer for optimized builds..
[AArch64][GlobalISel] Enable the localizer for optimized builds.
Fri, Sep 6, 3:27 PM
aemerson closed D67303: [AArch64][GlobalISel] Enable the localizer for optimized builds.
Fri, Sep 6, 3:27 PM · Restricted Project
aemerson added a comment to D67303: [AArch64][GlobalISel] Enable the localizer for optimized builds.

Filed https://bugs.llvm.org/show_bug.cgi?id=43247 for the regalloc issue.

Fri, Sep 6, 3:26 PM · Restricted Project
aemerson added a comment to D67303: [AArch64][GlobalISel] Enable the localizer for optimized builds.

Hi Amara,

Where are the benefits coming from for optimized build?
I am guessing less copies/spills and in that case, I think we should try to fix the allocator, but that's more a long term plan.
Fill a PR though with an example so that we don't forget.

LGTM.

Cheers,
-Quentin

Fri, Sep 6, 3:23 PM · Restricted Project
aemerson created D67303: [AArch64][GlobalISel] Enable the localizer for optimized builds.
Fri, Sep 6, 2:28 PM · Restricted Project
aemerson accepted D67245: [AArch64][GlobalISel] Always fall back on tail calls with -tailcallopt.

LGTM.

Fri, Sep 6, 9:40 AM · Restricted Project
aemerson accepted D67282: [GlobalISel][AArch64] Handle tail calls with non-void return types.

LGTM.

Fri, Sep 6, 9:24 AM · Restricted Project

Wed, Sep 4

aemerson accepted D67189: [AArch64][GlobalISel] Teach AArch64CallLowering to handle basic sibling calls.

Looks reasonable to me as a starting point.

Wed, Sep 4, 3:29 PM · Restricted Project
aemerson committed rG5d5150f0b490: [GlobalISel] Fix G_SEXT narrowScalar to bail out of unsupported type… (authored by aemerson).
[GlobalISel] Fix G_SEXT narrowScalar to bail out of unsupported type…
Wed, Sep 4, 1:00 AM
aemerson committed rL370847: [GlobalISel] Fix G_SEXT narrowScalar to bail out of unsupported type….
[GlobalISel] Fix G_SEXT narrowScalar to bail out of unsupported type…
Wed, Sep 4, 1:00 AM

Tue, Sep 3

aemerson committed rG2a2c25ba4800: [AArch64][GlobalISel] Legalize 128 bit divisions to libcalls. (authored by aemerson).
[AArch64][GlobalISel] Legalize 128 bit divisions to libcalls.
Tue, Sep 3, 2:44 PM
aemerson committed rGfbaf425b7900: [GlobalISel][CallLowering] Add support for splitting types according to calling… (authored by aemerson).
[GlobalISel][CallLowering] Add support for splitting types according to calling…
Tue, Sep 3, 2:44 PM
aemerson committed rL370823: [AArch64][GlobalISel] Legalize 128 bit divisions to libcalls..
[AArch64][GlobalISel] Legalize 128 bit divisions to libcalls.
Tue, Sep 3, 2:41 PM
aemerson closed D66185: [AArch64][GlobalISel] Legalize 128 bit divisions to libcalls.
Tue, Sep 3, 2:41 PM · Restricted Project
aemerson committed rL370822: [GlobalISel][CallLowering] Add support for splitting types according to calling….
[GlobalISel][CallLowering] Add support for splitting types according to calling…
Tue, Sep 3, 2:41 PM
aemerson closed D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.
Tue, Sep 3, 2:41 PM · Restricted Project
aemerson added a comment to D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.

Ping.

Tue, Sep 3, 12:14 AM · Restricted Project

Mon, Sep 2

aemerson committed rG453ef4e376a1: [AArch64][GlobalISel] Fix zext narrowScalar to use the right type when creating… (authored by aemerson).
[AArch64][GlobalISel] Fix zext narrowScalar to use the right type when creating…
Mon, Sep 2, 1:19 AM
aemerson committed rL370627: [AArch64][GlobalISel] Fix zext narrowScalar to use the right type when creating.
[AArch64][GlobalISel] Fix zext narrowScalar to use the right type when creating
Mon, Sep 2, 1:17 AM

Sat, Aug 31

aemerson accepted D67027: [AArch64][GlobalISel] Don't import i64imm_32bit pattern at -O0.

LGTM.

Sat, Aug 31, 3:05 PM · Restricted Project

Thu, Aug 29

aemerson accepted D66835: [AArch64][GlobalISel] Select arithmetic extended register patterns.

LGTM with nit.

Thu, Aug 29, 1:46 PM · Restricted Project

Wed, Aug 28

aemerson added a comment to D66916: GlobalISel: Set alignment on function argument stack load/store.

Can we just infer the alignment from the MPO at the point we need it rather than adding a parameter to assignValueToAddress?

Wed, Aug 28, 9:35 PM
aemerson accepted D65780: [GlobalISel][AArch64] Use a GISelPredicateCode to select llvm.aarch64.stlxr.*.

LGTM with updates.

Wed, Aug 28, 4:57 PM · Restricted Project
aemerson accepted D65779: [GlobalISel][AArch64] Select llvm.aarch64.stxr.* intrinsics..

LGTM with updates.

Wed, Aug 28, 4:57 PM · Restricted Project
aemerson added a comment to D65779: [GlobalISel][AArch64] Select llvm.aarch64.stxr.* intrinsics..

These can use the new predicate you added in the other patch?

Wed, Aug 28, 4:08 PM · Restricted Project
aemerson added a comment to D58232: GlobalISel: Don't materialize immarg arguments to intrinsics.

The AArch64 and ARM changes look reasonable to me. @ab is this ok to continue?

Wed, Aug 28, 2:36 PM
aemerson accepted D66898: [AArch64][GlobalISel] Select @llvm.aarch64.ldxr.* intrinsics.

Same test comment as the other patch, otherwise LGTM.

Wed, Aug 28, 2:26 PM · Restricted Project
aemerson added inline comments to D66835: [AArch64][GlobalISel] Select arithmetic extended register patterns.
Wed, Aug 28, 2:20 PM · Restricted Project
aemerson accepted D66897: [AArch64][GlobalISel] Select @llvm.aarch64.ldaxr.* intrinsics.

The new test can be made more concise, but it's also a bit redundant given we're adding checks to an existing one. I don't mind either way.

Wed, Aug 28, 1:32 PM · Restricted Project

Tue, Aug 27

aemerson accepted D66842: [AArch64][GlobalISel] Fall back when translating musttail calls.

LGTM.

Tue, Aug 27, 5:56 PM · Restricted Project
aemerson committed rGe20b91c265db: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC. (authored by aemerson).
[GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Tue, Aug 27, 1:12 PM
aemerson committed rL370104: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC..
[GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Tue, Aug 27, 1:05 PM
aemerson closed D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Tue, Aug 27, 12:58 PM · Restricted Project
aemerson accepted D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Tue, Aug 27, 12:51 PM · Restricted Project
aemerson added inline comments to D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Tue, Aug 27, 12:25 PM · Restricted Project
aemerson accepted D66287: GlobalISel: add combiner for indexed loads and stores.
Tue, Aug 27, 11:31 AM · Restricted Project

Mon, Aug 26

aemerson updated subscribers of D66769: [GlobalISel] Import patterns containing SUBREG_TO_REG.

This is kind of a hit/miss for code size improvements/regressions. E.g. in add-ext.ll, we now get some identity copies. This isn't really anything the importer can handle, since it's caused by a later pass introducing the copy for the sake of correctness.

Mon, Aug 26, 3:50 PM · Restricted Project
aemerson accepted D66498: [GlobalISel] Import patterns containing INSERT_SUBREG.

LGTM.

Mon, Aug 26, 11:55 AM · Restricted Project
aemerson added a comment to D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads.

This is a building block on the path to a longer term goal, which is to eventually support early exits in the vectorizer. (But that's out of scope for the moment.)

Mon, Aug 26, 9:56 AM · Restricted Project

Aug 23 2019

aemerson committed rGcc25dabe2385: Remove unnecessary REQUIRES from a test. (authored by aemerson).
Remove unnecessary REQUIRES from a test.
Aug 23 2019, 7:42 PM
aemerson committed rL369835: Remove unnecessary REQUIRES from a test..
Remove unnecessary REQUIRES from a test.
Aug 23 2019, 7:42 PM
aemerson committed rG3f6dd0c58872: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas. (authored by aemerson).
[GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 7:28 PM
aemerson committed rL369833: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas..
[GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 7:28 PM
aemerson closed D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 7:28 PM · Restricted Project
aemerson updated the diff for D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.

Delete unused code and use buildAdd().

Aug 23 2019, 1:40 PM · Restricted Project
aemerson added inline comments to D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 1:40 PM · Restricted Project
aemerson added inline comments to D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Aug 23 2019, 1:31 PM · Restricted Project
aemerson accepted D66679: [AArch64][GlobalISel] Import XRO load/store patterns instead of custom selection.

Nice, LGTM.

Aug 23 2019, 1:21 PM · Restricted Project
aemerson added inline comments to D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 1:13 PM · Restricted Project
aemerson created D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Aug 23 2019, 12:46 PM · Restricted Project
aemerson added a parent revision for D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC: D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 12:46 PM · Restricted Project
aemerson created D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
Aug 23 2019, 12:46 PM · Restricted Project
aemerson added a child revision for D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas: D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.
Aug 23 2019, 12:46 PM · Restricted Project