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 (297 w, 1 d)

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

Recent Activity

Yesterday

aemerson added a comment to D61726: [Pass Pipeline] Run another round of reassociation after loop pipeline.

Can you post the actual performance results? It's hard to judge whether 0.3% cost across the entire compiler is acceptable without knowing the benefits.

Mon, May 20, 12:12 PM · Restricted Project

Fri, May 17

aemerson accepted D62023: GlobalISel: Implement lower for S64->S32 [SU]ITOFP.
Fri, May 17, 3:47 PM
aemerson accepted D60260: Match types of accumulator and result for llvm.experimental.vector.reduce.fadd/fmul.

LGTM.

Fri, May 17, 9:05 AM · Restricted Project

Thu, May 16

aemerson accepted D61692: [SDAG] Vector op legalization for overflow ops.

LGTM if no one else has comments.

Thu, May 16, 9:56 AM · Restricted Project

Mon, May 13

aemerson added a comment to D42512: [X86] When using Win64 ABI, exit with error if SSE is disabled for varargs.

This patch is not correct -- the crash is not with varargs functions specifically, llvm also crashes for a function declared to explicitly take a float/double. The Win64 calling convention code assigns values to xmm registers, but it should not when sse is disabled.

Additionally, this patch unnecessarily breaks calling vararg functions with _integer_ arguments, which in particular, the EDK2 project does, with windows ABI functions and sse disabled. So, since this breaks existing working code, I'm going to revert this change now, and then propose a different change to address the crash.

Mon, May 13, 11:03 AM · Restricted Project
aemerson added a comment to rL360444: [LSR] Tweak setup cost depth threshold to 10..

Fair enough, I've reverted this in r360589. The test case seemed cumbersome to reduce and commit just for a threshold change, but I'm not sure what the best approach is here yet beyond a depth limit change.

Mon, May 13, 8:37 AM
aemerson committed rGe5248e6b41e0: Revert "[LSR] Tweak setup cost depth threshold to 10." (authored by aemerson).
Revert "[LSR] Tweak setup cost depth threshold to 10."
Mon, May 13, 8:35 AM
aemerson committed rL360589: Revert "[LSR] Tweak setup cost depth threshold to 10.".
Revert "[LSR] Tweak setup cost depth threshold to 10."
Mon, May 13, 8:35 AM

Fri, May 10

aemerson committed rG1e3b78993841: [Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the… (authored by aemerson).
[Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the…
Fri, May 10, 4:25 PM
aemerson committed rC360483: [Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the….
[Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the…
Fri, May 10, 4:25 PM
aemerson committed rL360483: [Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the….
[Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the…
Fri, May 10, 4:25 PM
aemerson closed D58320: [Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the builtins library..
Fri, May 10, 4:24 PM · Restricted Project, Restricted Project
aemerson added inline comments to D58320: [Darwin] Introduce a new flag, -fapple-link-rtlib that forces linking of the builtins library..
Fri, May 10, 3:50 PM · Restricted Project, Restricted Project
aemerson committed rGb6af291772e7: [LSR] Tweak setup cost depth threshold to 10. (authored by aemerson).
[LSR] Tweak setup cost depth threshold to 10.
Fri, May 10, 10:28 AM
aemerson committed rL360444: [LSR] Tweak setup cost depth threshold to 10..
[LSR] Tweak setup cost depth threshold to 10.
Fri, May 10, 10:28 AM

Thu, May 9

aemerson added a comment to D61289: [globalisel] Add G_SEXT_INREG.

Thanks for the explanations. I think you have some good points. Overall, it still looks to me like we're complicating things for backend writers and introducing a lot of subtle distinctions to keep in mind. It would be useful to hear what other people think about this.

Thu, May 9, 3:10 PM · Restricted Project

Wed, May 8

aemerson added a comment to D57348: [CodeGen][X86] Don't scalarize vector saturating add/sub.

Hi Nikita,

Wed, May 8, 9:38 AM · Restricted Project

Mon, May 6

aemerson committed rG3d1128cc9e16: [GlobalISel] Handle <1 x T> vector return types properly. (authored by aemerson).
[GlobalISel] Handle <1 x T> vector return types properly.
Mon, May 6, 12:42 PM
aemerson added a comment to D60425: [GlobalISel][AArch64] Allow CallLowering to handle types.

We're seeing a failing assertion when building Skia for AArch64 which seems to have been introduced by this change, see PR41738 for more details.

Mon, May 6, 12:42 PM · Restricted Project
aemerson committed rL360068: [GlobalISel] Handle <1 x T> vector return types properly..
[GlobalISel] Handle <1 x T> vector return types properly.
Mon, May 6, 12:38 PM

Sun, Apr 28

aemerson added a comment to D61124: Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry().

Hi Hans,

Sun, Apr 28, 12:54 AM · Restricted Project

Apr 20 2019

aemerson committed rG428665255686: Revert r358800. Breaks Obsequi from the test suite. (authored by aemerson).
Revert r358800. Breaks Obsequi from the test suite.
Apr 20 2019, 2:23 PM
aemerson committed rL358829: Revert r358800. Breaks Obsequi from the test suite..
Revert r358800. Breaks Obsequi from the test suite.
Apr 20 2019, 2:23 PM

Apr 19 2019

aemerson committed rGeac69e93779e: Revert "Revert "[GlobalISel] Add legalization support for non-power-2 loads and… (authored by aemerson).
Revert "Revert "[GlobalISel] Add legalization support for non-power-2 loads and…
Apr 19 2019, 4:53 PM
aemerson committed rL358800: Revert "Revert "[GlobalISel] Add legalization support for non-power-2 loads and….
Revert "Revert "[GlobalISel] Add legalization support for non-power-2 loads and…
Apr 19 2019, 4:53 PM
aemerson accepted D60895: [GlobalISel][AArch64] Legalize + select G_FRINT.
Apr 19 2019, 4:35 PM · Restricted Project
aemerson accepted D60893: [GlobalISel] Add IRTranslator support for G_FRINT.
Apr 19 2019, 2:40 PM · Restricted Project
aemerson accepted D60891: [GlobalISel] Add a G_FRINT opcode.

LGTM.

Apr 19 2019, 2:40 PM · Restricted Project
aemerson committed rG36c5baef49b6: Revert "[GlobalISel] Add legalization support for non-power-2 loads and stores" (authored by aemerson).
Revert "[GlobalISel] Add legalization support for non-power-2 loads and stores"
Apr 19 2019, 10:41 AM
aemerson committed rL358771: Revert "[GlobalISel] Add legalization support for non-power-2 loads and stores".
Revert "[GlobalISel] Add legalization support for non-power-2 loads and stores"
Apr 19 2019, 10:41 AM

Apr 18 2019

aemerson accepted D60877: [GlobalISel][AArch64] Legalize v8s8 loads.
Apr 18 2019, 11:25 AM · Restricted Project
aemerson accepted D60881: [GlobalISel][AArch64] Legalize/select G_(S/Z/ANY)_EXT for v8s8s.
Apr 18 2019, 11:20 AM · Restricted Project

Apr 17 2019

aemerson committed rGd51adf056863: Add a getSizeInBits() accessor to MachineMemOperand. NFC. (authored by aemerson).
Add a getSizeInBits() accessor to MachineMemOperand. NFC.
Apr 17 2019, 3:22 PM
aemerson committed rL358617: Add a getSizeInBits() accessor to MachineMemOperand. NFC..
Add a getSizeInBits() accessor to MachineMemOperand. NFC.
Apr 17 2019, 3:21 PM
aemerson closed D60799: Add a getSizeInBits() accessor to MachineMemOperand. NFC..
Apr 17 2019, 3:21 PM · Restricted Project
aemerson added inline comments to D60799: Add a getSizeInBits() accessor to MachineMemOperand. NFC..
Apr 17 2019, 2:46 PM · Restricted Project
aemerson committed rGdaf6e66ac5d2: [GlobalISel] Add legalization support for non-power-2 loads and stores (authored by aemerson).
[GlobalISel] Add legalization support for non-power-2 loads and stores
Apr 17 2019, 2:29 PM
aemerson committed rL358613: [GlobalISel] Add legalization support for non-power-2 loads and stores.
[GlobalISel] Add legalization support for non-power-2 loads and stores
Apr 17 2019, 2:28 PM
aemerson closed D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.
Apr 17 2019, 2:28 PM · Restricted Project
aemerson updated the diff for D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

Yep, in that case might as well remove the entire helper.

Apr 17 2019, 10:28 AM · Restricted Project

Apr 16 2019

aemerson created D60799: Add a getSizeInBits() accessor to MachineMemOperand. NFC..
Apr 16 2019, 3:17 PM · Restricted Project
aemerson added a comment to D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

Reviving this as the overall approach was fine, it seems the alignment of non pow2 types is assumed to be the alignment of the next largest pow-2 type, so we don't need to worry about alignment during the breakdown.

I did however change the legalization method to not use extracts/inserts, but instead use extending loads and truncating stores, so that the artifacts get combined away and it Just Works.

I don't like how we do everything in bits, and then the mem operand forces bytes. Would it cost anything to switch MemOperands to also be in bits?

Apr 16 2019, 3:03 PM · Restricted Project
aemerson updated the diff for D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

Use MF.getMachineMemOperand()

Apr 16 2019, 10:41 AM · Restricted Project
aemerson added a comment to D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

Reviving this as the overall approach was fine, it seems the alignment of non pow2 types is assumed to be the alignment of the next largest pow-2 type, so we don't need to worry about alignment during the breakdown.

I did however change the legalization method to not use extracts/inserts, but instead use extending loads and truncating stores, so that the artifacts get combined away and it Just Works.

I don't like how we do everything in bits, and then the mem operand forces bytes. Would it cost anything to switch MemOperands to also be in bits?

Apr 16 2019, 10:28 AM · Restricted Project

Apr 15 2019

aemerson committed rG02a90ea73de5: [AArch64][GlobalISel] Don't do extending loads combine for non-pow-2 types. (authored by aemerson).
[AArch64][GlobalISel] Don't do extending loads combine for non-pow-2 types.
Apr 15 2019, 3:34 PM
aemerson committed rL358458: [AArch64][GlobalISel] Don't do extending loads combine for non-pow-2 types..
[AArch64][GlobalISel] Don't do extending loads combine for non-pow-2 types.
Apr 15 2019, 3:34 PM
aemerson updated the diff for D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

New and improved patch.

Apr 15 2019, 3:16 PM · Restricted Project
aemerson reclaimed D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores.

Reviving this as the overall approach was fine, it seems the alignment of non pow2 types is assumed to be the alignment of the next largest pow-2 type, so we don't need to worry about alignment during the breakdown.

Apr 15 2019, 3:14 PM · Restricted Project

Apr 14 2019

aemerson committed rG946b1246d6c8: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants… (authored by aemerson).
[GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants…
Apr 14 2019, 10:09 PM
aemerson committed rL358369: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants….
[GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants…
Apr 14 2019, 10:09 PM
aemerson closed D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.
Apr 14 2019, 10:08 PM · Restricted Project
aemerson committed rGd189680baa07: [GlobalISel] Introduce a CSEConfigBase class to allow targets to define their… (authored by aemerson).
[GlobalISel] Introduce a CSEConfigBase class to allow targets to define their…
Apr 14 2019, 9:54 PM
aemerson committed rL358368: [GlobalISel] Introduce a CSEConfigBase class to allow targets to define their….
[GlobalISel] Introduce a CSEConfigBase class to allow targets to define their…
Apr 14 2019, 9:54 PM

Apr 12 2019

aemerson committed rG93e58d239667: [AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix… (authored by aemerson).
[AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix…
Apr 12 2019, 5:32 PM
aemerson committed rL358318: [AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix….
[AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix…
Apr 12 2019, 5:32 PM
aemerson closed D60579: [AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix a crash.
Apr 12 2019, 5:31 PM · Restricted Project
aemerson updated the diff for D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.

Yep, forgot to git add it. It's in this new diff, but I'll add it as a separate commit. Ok to proceed?

Apr 12 2019, 4:45 PM · Restricted Project
aemerson updated the diff for D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.

New patch uses a new CSEConfigBase class as the interface between TargetPassConfig and GlobalISel targets, since CodeGen can't depend on the GlobalISel lib.

Apr 12 2019, 4:26 PM · Restricted Project
aemerson committed rGbdb5e4e4ca5f: [GlobalISel] Fix a crash when handling an invalid MVT during call lowering. (authored by aemerson).
[GlobalISel] Fix a crash when handling an invalid MVT during call lowering.
Apr 12 2019, 3:07 PM
aemerson committed rL358314: [GlobalISel] Fix a crash when handling an invalid MVT during call lowering..
[GlobalISel] Fix a crash when handling an invalid MVT during call lowering.
Apr 12 2019, 3:07 PM
aemerson committed rG2806fd01a126: [AArch64][GlobalISel] Fix a crash when selecting shufflevectors with an undef… (authored by aemerson).
[AArch64][GlobalISel] Fix a crash when selecting shufflevectors with an undef…
Apr 12 2019, 2:31 PM
aemerson committed rL358312: [AArch64][GlobalISel] Fix a crash when selecting shufflevectors with an undef….
[AArch64][GlobalISel] Fix a crash when selecting shufflevectors with an undef…
Apr 12 2019, 2:31 PM

Apr 11 2019

aemerson added inline comments to D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.
Apr 11 2019, 3:16 PM · Restricted Project
aemerson updated the diff for D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.

Fixed the places where custom legalization was not using full CSE.

Apr 11 2019, 3:12 PM · Restricted Project
aemerson added inline comments to D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.
Apr 11 2019, 3:05 PM · Restricted Project
aemerson created D60580: [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only.
Apr 11 2019, 1:55 PM · Restricted Project
aemerson created D60579: [AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix a crash.
Apr 11 2019, 1:51 PM · Restricted Project
aemerson committed rG7e9355f870ae: [AArch64][GlobalISel] Flesh out vector load/store support for more types. (authored by aemerson).
[AArch64][GlobalISel] Flesh out vector load/store support for more types.
Apr 11 2019, 1:41 PM
aemerson committed rL358223: [AArch64][GlobalISel] Flesh out vector load/store support for more types..
[AArch64][GlobalISel] Flesh out vector load/store support for more types.
Apr 11 2019, 1:40 PM
aemerson committed rGb956051415a6: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors… (authored by aemerson).
[AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors…
Apr 11 2019, 1:32 PM
aemerson committed rL358221: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors….
[AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors…
Apr 11 2019, 1:32 PM
aemerson closed D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.
Apr 11 2019, 1:31 PM · Restricted Project
aemerson committed rT358206: Document how to use the 'vs' mode in compare.py.
Document how to use the 'vs' mode in compare.py
Apr 11 2019, 11:24 AM
aemerson committed rL358206: Document how to use the 'vs' mode in compare.py.
Document how to use the 'vs' mode in compare.py
Apr 11 2019, 11:15 AM
aemerson added inline comments to D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.
Apr 11 2019, 11:07 AM · Restricted Project

Apr 10 2019

aemerson updated the diff for D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.

Updated patch to not use the custom legalization for non-p0 vectors.

Apr 10 2019, 4:47 PM · Restricted Project
aemerson added inline comments to D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.
Apr 10 2019, 4:28 PM · Restricted Project
aemerson committed rG213e0bde0481: [AArch64][GlobalISel] Make <2 x p0> = G_BUILD_VECTOR legal. (authored by aemerson).
[AArch64][GlobalISel] Make <2 x p0> = G_BUILD_VECTOR legal.
Apr 10 2019, 4:05 PM
aemerson committed rGa7ff111b04ab: [AArch64][GlobalISel] Add legalizer support for <8 x s16> and <16 x s8> G_ADD. (authored by aemerson).
[AArch64][GlobalISel] Add legalizer support for <8 x s16> and <16 x s8> G_ADD.
Apr 10 2019, 4:05 PM
aemerson committed rGae878dab0351: [AArch64][GlobalISel] Scalarize vector SDIV. (authored by aemerson).
[AArch64][GlobalISel] Scalarize vector SDIV.
Apr 10 2019, 4:05 PM
aemerson committed rL358144: [AArch64][GlobalISel] Make <2 x p0> = G_BUILD_VECTOR legal..
[AArch64][GlobalISel] Make <2 x p0> = G_BUILD_VECTOR legal.
Apr 10 2019, 4:04 PM
aemerson committed rL358143: [AArch64][GlobalISel] Add legalizer support for <8 x s16> and <16 x s8> G_ADD..
[AArch64][GlobalISel] Add legalizer support for <8 x s16> and <16 x s8> G_ADD.
Apr 10 2019, 4:04 PM
aemerson committed rL358142: [AArch64][GlobalISel] Scalarize vector SDIV..
[AArch64][GlobalISel] Scalarize vector SDIV.
Apr 10 2019, 4:04 PM
aemerson added inline comments to D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.
Apr 10 2019, 3:29 PM · Restricted Project
aemerson created D60534: [AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.
Apr 10 2019, 12:37 PM · Restricted Project

Apr 9 2019

aemerson committed rG9bf092d71989: [AArch64][GlobalISel] Add isel support for vector G_ICMP and G_ASHR & G_SHL (authored by aemerson).
[AArch64][GlobalISel] Add isel support for vector G_ICMP and G_ASHR & G_SHL
Apr 9 2019, 2:25 PM
aemerson committed rG888dd5d198c9: [AArch64][GlobalISel] Legalize vector G_ICMP. (authored by aemerson).
[AArch64][GlobalISel] Legalize vector G_ICMP.
Apr 9 2019, 2:25 PM
aemerson committed rG92d74f19cf47: [AArch64][GlobalISel] Add legalization for some vector G_SHL and G_ASHR. (authored by aemerson).
[AArch64][GlobalISel] Add legalization for some vector G_SHL and G_ASHR.
Apr 9 2019, 2:25 PM
aemerson committed rG2b523f81625b: [GlobalISel][AArch64] Allow CallLowering to handle types which are normally… (authored by aemerson).
[GlobalISel][AArch64] Allow CallLowering to handle types which are normally…
Apr 9 2019, 2:25 PM
aemerson committed rL358035: [AArch64][GlobalISel] Add isel support for vector G_ICMP and G_ASHR & G_SHL.
[AArch64][GlobalISel] Add isel support for vector G_ICMP and G_ASHR & G_SHL
Apr 9 2019, 2:25 PM
aemerson closed D60436: [AArch64][GlobalISel] Add isel support for vector G_ICMP and G_ASHR & G_LSR.
Apr 9 2019, 2:25 PM · Restricted Project
aemerson committed rL358034: [AArch64][GlobalISel] Legalize vector G_ICMP..
[AArch64][GlobalISel] Legalize vector G_ICMP.
Apr 9 2019, 2:24 PM
aemerson closed D60435: [AArch64][GlobalISel] Legalize vector G_ICMP.
Apr 9 2019, 2:24 PM · Restricted Project
aemerson committed rL358033: [AArch64][GlobalISel] Add legalization for some vector G_SHL and G_ASHR..
[AArch64][GlobalISel] Add legalization for some vector G_SHL and G_ASHR.
Apr 9 2019, 2:24 PM
aemerson closed D60433: [AArch64][GlobalISel] Add legalization for some vector G_LSR and G_ASHR.
Apr 9 2019, 2:24 PM · Restricted Project
aemerson committed rL358032: [GlobalISel][AArch64] Allow CallLowering to handle types which are normally.
[GlobalISel][AArch64] Allow CallLowering to handle types which are normally
Apr 9 2019, 2:24 PM
aemerson closed D60425: [GlobalISel][AArch64] Allow CallLowering to handle types.
Apr 9 2019, 2:24 PM · Restricted Project
aemerson accepted D60338: GlobalISel: Move computeValueLLTs.

LGTM.

Apr 9 2019, 10:04 AM
aemerson added inline comments to D60425: [GlobalISel][AArch64] Allow CallLowering to handle types.
Apr 9 2019, 10:03 AM · Restricted Project
aemerson added inline comments to D60435: [AArch64][GlobalISel] Legalize vector G_ICMP.
Apr 9 2019, 9:52 AM · Restricted Project