Page MenuHomePhabricator

foad (Jay Foad)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 29 2014, 9:58 AM (395 w, 3 d)

Recent Activity

Thu, May 26

foad added a comment to D126389: [AMDGPU] Improve codegen of extractelement/insertelement in some cases.

Any performance numbers? The 8 element case was driven by a specific customer program and the performance of the cmp/select was better than movrel.

Thu, May 26, 6:51 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 24

foad added inline comments to D126290: [TableGen] Undeprecate 'field' when used with the CodeEmitterGen backend..
Tue, May 24, 4:34 AM · Restricted Project, Restricted Project

Mon, May 23

foad added inline comments to D85838: New TableGen Programmer's Reference document.
Mon, May 23, 7:20 AM · Restricted Project, Restricted Project
foad committed rG9293539064ae: [TableGen] Remove an untrue statement from the docs (authored by foad).
[TableGen] Remove an untrue statement from the docs
Mon, May 23, 7:20 AM · Restricted Project, Restricted Project
foad added a comment to D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits (WIP).

AMDGPU changes LGTM.

Mon, May 23, 5:54 AM · Restricted Project, Restricted Project
foad committed rG21843d96e055: [AMDGPU] Remove unneeded regex escaping in FileCheck patterns (authored by foad).
[AMDGPU] Remove unneeded regex escaping in FileCheck patterns
Mon, May 23, 4:10 AM · Restricted Project, Restricted Project

Fri, May 20

foad committed rG9af56c676e40: [AMDGPU] Mark SMEM cache invalidations as not reading memory (authored by foad).
[AMDGPU] Mark SMEM cache invalidations as not reading memory
Fri, May 20, 9:21 AM · Restricted Project, Restricted Project
foad closed D126074: [AMDGPU] Mark SMEM cache invalidations as not reading memory.
Fri, May 20, 9:21 AM · Restricted Project, Restricted Project
foad requested review of D126074: [AMDGPU] Mark SMEM cache invalidations as not reading memory.
Fri, May 20, 8:48 AM · Restricted Project, Restricted Project
foad committed rG78ec59e6aea9: [AMDGPU] Handle mandatory literals in isOperandLegal (authored by foad).
[AMDGPU] Handle mandatory literals in isOperandLegal
Fri, May 20, 8:17 AM · Restricted Project, Restricted Project
foad committed rG5b18ef7256a1: [AMDGPU] Add verification for mandatory literals (authored by foad).
[AMDGPU] Add verification for mandatory literals
Fri, May 20, 8:17 AM · Restricted Project, Restricted Project
foad closed D126064: [AMDGPU] Handle mandatory literals in isOperandLegal.
Fri, May 20, 8:17 AM · Restricted Project, Restricted Project
foad closed D126063: [AMDGPU] Add verification for mandatory literals.
Fri, May 20, 8:17 AM · Restricted Project, Restricted Project
foad updated the diff for D126063: [AMDGPU] Add verification for mandatory literals.

Add an sgpr test which fails for GFX9 and passes for GFX10.

Fri, May 20, 7:18 AM · Restricted Project, Restricted Project
foad requested review of D126064: [AMDGPU] Handle mandatory literals in isOperandLegal.
Fri, May 20, 5:25 AM · Restricted Project, Restricted Project
foad requested review of D126063: [AMDGPU] Add verification for mandatory literals.
Fri, May 20, 5:08 AM · Restricted Project, Restricted Project
foad committed rGa71a4485b67a: [AMDGPU] Add a test case for an SIFoldOperands bug (authored by foad).
[AMDGPU] Add a test case for an SIFoldOperands bug
Fri, May 20, 4:49 AM · Restricted Project, Restricted Project
foad added a comment to D126005: [GISel] Add identity and fneg combines for G_FMUL.

General question about all these combines: why do we need them? Why wouldn't they be done at the IR level, or are they cleaning up code that could reasonably be introduced by legalization?

Fri, May 20, 3:56 AM · Restricted Project, Restricted Project
Herald added a project to D39951: AMDGPU: Implement computeKnownBitsForTargetNode for mbcnt: Restricted Project.

This caused https://github.com/llvm/llvm-project/issues/55598

Fri, May 20, 12:29 AM · Restricted Project

Thu, May 19

foad committed rG9ece0518471a: [AMDGPU] Mark s_get_waveid_in_workgroup as not reading memory (authored by foad).
[AMDGPU] Mark s_get_waveid_in_workgroup as not reading memory
Thu, May 19, 1:26 PM · Restricted Project, Restricted Project
foad committed rG86b55edab687: [AMDGPU] Mark s_getreg as having side effects instead of reading memory (authored by foad).
[AMDGPU] Mark s_getreg as having side effects instead of reading memory
Thu, May 19, 1:26 PM · Restricted Project, Restricted Project
foad closed D125985: [AMDGPU] Mark s_get_waveid_in_workgroup as not reading memory.
Thu, May 19, 1:26 PM · Restricted Project, Restricted Project
foad closed D125968: [AMDGPU] Mark s_getreg as having side effects instead of reading memory.
Thu, May 19, 1:26 PM · Restricted Project, Restricted Project
foad added a comment to D125968: [AMDGPU] Mark s_getreg as having side effects instead of reading memory.

The motivation here is to cut down on MachineInstrs that are marked as mayLoad or mayStore but do not have memoperands, since passes like SIMemoryLegalizer have to treat them very conservatively.

Thu, May 19, 10:12 AM · Restricted Project, Restricted Project
foad requested review of D125985: [AMDGPU] Mark s_get_waveid_in_workgroup as not reading memory.
Thu, May 19, 8:56 AM · Restricted Project, Restricted Project
foad committed rGd14f2a635948: [AMDGPU] Allow multiple uses of the same literal in SOP2/SOPC (authored by foad).
[AMDGPU] Allow multiple uses of the same literal in SOP2/SOPC
Thu, May 19, 8:42 AM · Restricted Project, Restricted Project
foad closed D125976: [AMDGPU] Allow multiple uses of the same literal in SOP2/SOPC.
Thu, May 19, 8:42 AM · Restricted Project, Restricted Project
foad requested review of D125976: [AMDGPU] Allow multiple uses of the same literal in SOP2/SOPC.
Thu, May 19, 7:23 AM · Restricted Project, Restricted Project
foad requested review of D125968: [AMDGPU] Mark s_getreg as having side effects instead of reading memory.
Thu, May 19, 6:19 AM · Restricted Project, Restricted Project
foad added inline comments to D125700: [AMDGPU][GFX9] Support base+soffset+offset SMEM loads..
Thu, May 19, 5:28 AM · Restricted Project, Restricted Project
foad accepted D125965: [MIR] Provide location of extra instruction operand when diagnosing it..

LGTM, thanks!

Thu, May 19, 4:28 AM · Restricted Project, Restricted Project
foad committed rG4e432f1b7ce6: [APInt] Deprecate truncOrSelf, zextOrSelf and sextOrSelf (authored by foad).
[APInt] Deprecate truncOrSelf, zextOrSelf and sextOrSelf
Thu, May 19, 3:33 AM · Restricted Project, Restricted Project
foad committed rG6bec3e9303d6: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf (authored by foad).
[APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf
Thu, May 19, 3:33 AM · Restricted Project, Restricted Project, Restricted Project
foad closed D125558: [APInt] Deprecate truncOrSelf, zextOrSelf and sextOrSelf.
Thu, May 19, 3:33 AM · Restricted Project, Restricted Project
foad closed D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf.
Thu, May 19, 3:33 AM · Restricted Project, Restricted Project, Restricted Project
foad added inline comments to D87936: [GISel] Add new combines for G_ADD.
Thu, May 19, 1:01 AM · Restricted Project, Restricted Project
foad added inline comments to D125819: [GISel] Add new combines for G_FMINNUM/MAXNUM and G_FMINIMUM/MAXIMUM.
Thu, May 19, 12:54 AM · Restricted Project, Restricted Project

Wed, May 18

foad added inline comments to D125819: [GISel] Add new combines for G_FMINNUM/MAXNUM and G_FMINIMUM/MAXIMUM.
Wed, May 18, 4:04 AM · Restricted Project, Restricted Project
foad committed rGe2926501d886: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions (authored by foad).
[AMDGPU] Aggressively fold immediates in SIShrinkInstructions
Wed, May 18, 3:05 AM · Restricted Project, Restricted Project
foad closed D114644: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions.
Wed, May 18, 3:04 AM · Restricted Project, Restricted Project
foad added inline comments to D114644: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions.
Wed, May 18, 2:53 AM · Restricted Project, Restricted Project
foad added inline comments to D124671: [AMDGPU] Do not raise wave priority beyond a specific number of VALU instructions..
Wed, May 18, 2:50 AM · Restricted Project, Restricted Project
foad added a comment to D124671: [AMDGPU] Do not raise wave priority beyond a specific number of VALU instructions..

I'm not sure how to review this. Can you explain why this heuristic makes sense intuitively? Or do you have any benchmarks to back it up? Or preferably both? :)

Wed, May 18, 2:45 AM · Restricted Project, Restricted Project
foad added inline comments to D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.
Wed, May 18, 2:40 AM · Restricted Project, Restricted Project
foad committed rG3eb2281bc067: [AMDGPU] Aggressively fold immediates in SIFoldOperands (authored by foad).
[AMDGPU] Aggressively fold immediates in SIFoldOperands
Wed, May 18, 2:22 AM · Restricted Project, Restricted Project
foad closed D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.
Wed, May 18, 2:22 AM · Restricted Project, Restricted Project
foad added inline comments to D124218: [LoadStoreVectorizer] Consider if operation is faster than before.
Wed, May 18, 2:10 AM · Restricted Project, Restricted Project
foad committed rGdd12c3433ee9: [AMDGPU] Shrink F16 MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10 (authored by foad).
[AMDGPU] Shrink F16 MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10
Wed, May 18, 2:02 AM · Restricted Project, Restricted Project
foad closed D125803: [AMDGPU] Shrink F16 MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Wed, May 18, 2:02 AM · Restricted Project, Restricted Project
foad added inline comments to D125824: [AMDGPU] gfx11 export instructions.
Wed, May 18, 1:48 AM · Restricted Project, Restricted Project

Tue, May 17

foad added inline comments to D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.
Tue, May 17, 9:25 AM · Restricted Project, Restricted Project
foad added inline comments to D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Tue, May 17, 9:15 AM · Restricted Project, Restricted Project
foad requested review of D125803: [AMDGPU] Shrink F16 MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Tue, May 17, 9:15 AM · Restricted Project, Restricted Project
foad committed rGf84741d8bf3b: [AMDGPU] Add a MIR test for D125567 (authored by foad).
[AMDGPU] Add a MIR test for D125567
Tue, May 17, 9:13 AM · Restricted Project, Restricted Project
foad added a comment to D125799: [AMDGPU][MC][GFX7] Disable cache policy modifiers with SMEM.

Title should be "Disable ..." not "Disabled ...".

Tue, May 17, 8:35 AM · Restricted Project, Restricted Project
foad added inline comments to D125759: [AMDGPU] Remove isLiteralConstant and isLiteralConstantLike.
Tue, May 17, 6:38 AM · Restricted Project, Restricted Project
foad added inline comments to D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.
Tue, May 17, 5:49 AM · Restricted Project, Restricted Project
foad committed rG77480556c41f: [RegAllocGreedy] New hook regClassPriorityTrumpsGlobalness (authored by foad).
[RegAllocGreedy] New hook regClassPriorityTrumpsGlobalness
Tue, May 17, 4:43 AM · Restricted Project, Restricted Project
foad closed D125102: [RegAllocGreedy] New hook regClassPriorityTrumpsGlobalness.
Tue, May 17, 4:42 AM · Restricted Project, Restricted Project
foad added inline comments to D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf.
Tue, May 17, 4:34 AM · Restricted Project, Restricted Project, Restricted Project
foad requested review of D125759: [AMDGPU] Remove isLiteralConstant and isLiteralConstantLike.
Tue, May 17, 3:32 AM · Restricted Project, Restricted Project
foad added a comment to D114644: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions.

I'd like to go ahead with D114643 + D114644 on the grounds that instruction count, register pressure and register dependencies are much more important for performance than code size in bytes. Does anyone have concerns about this or objections?

Tue, May 17, 3:24 AM · Restricted Project, Restricted Project
foad added reviewers for D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands: arsenm, rampitec, nhaehnle, tsymalla, piotr, sebastian-ne.
Tue, May 17, 3:21 AM · Restricted Project, Restricted Project
foad added reviewers for D114644: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions: arsenm, rampitec, nhaehnle, tsymalla, piotr, sebastian-ne.

Some data on the comined effect of D114643 + D114644, from statically compiling a corpus of 10320 graphics shaders for gfx1010:

  • Total number of instructions decreased from 6071567 to 5999110 (-1.2%)
  • Total number of code bytes increased from 35932468 to 36174540 (+0.67%)
  • Total number of vgprs used decreased from 517395 to 517238 (-0.030%)
  • Total number of sgprs used decreased from 811411 to 805549 (-0.73%)
Tue, May 17, 3:17 AM · Restricted Project, Restricted Project
foad added a comment to D125607: [DAG] Fold (shl (srl x, c), c) -> and(x, m) even if srl has other uses.

@foad @dmgreen Any objections to the AMDGPU / ARM changes?

Tue, May 17, 2:46 AM · Restricted Project, Restricted Project

Mon, May 16

foad added inline comments to D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.
Mon, May 16, 8:58 AM · Restricted Project, Restricted Project
foad updated the diff for D114644: [AMDGPU] Aggressively fold immediates in SIShrinkInstructions.

Rebase.

Mon, May 16, 8:55 AM · Restricted Project, Restricted Project
foad updated the diff for D114643: [AMDGPU] Aggressively fold immediates in SIFoldOperands.

Rebase.

Mon, May 16, 8:55 AM · Restricted Project, Restricted Project
foad committed rG27fa41583fde: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10 (authored by foad).
[AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10
Mon, May 16, 7:26 AM · Restricted Project, Restricted Project
foad closed D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Mon, May 16, 7:26 AM · Restricted Project, Restricted Project
foad added inline comments to D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits (WIP).
Mon, May 16, 6:36 AM · Restricted Project, Restricted Project
foad added inline comments to D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Mon, May 16, 6:22 AM · Restricted Project, Restricted Project
foad updated the diff for D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.

Use more MachineInstrBuilder methods.

Mon, May 16, 6:16 AM · Restricted Project, Restricted Project
foad updated the diff for D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.

Copy flags from MI to NewMI.

Mon, May 16, 2:57 AM · Restricted Project, Restricted Project
foad updated the diff for D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.

Prefer not to swap operands when possible, for efficiency and to make
some before/after code comparisons easier.

Mon, May 16, 2:31 AM · Restricted Project, Restricted Project
foad added inline comments to D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Mon, May 16, 2:14 AM · Restricted Project, Restricted Project
foad updated the diff for D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.

Address review comments.

Mon, May 16, 2:11 AM · Restricted Project, Restricted Project
foad committed rGc1af2d329f85: [AMDGPU] SIShrinkInstructions: change static functions to methods (authored by foad).
[AMDGPU] SIShrinkInstructions: change static functions to methods
Mon, May 16, 1:52 AM · Restricted Project, Restricted Project
foad committed rGdfb006c0c969: [AMDGPU] Extract SIInstrInfo::removeModOperands. NFC. (authored by foad).
[AMDGPU] Extract SIInstrInfo::removeModOperands. NFC.
Mon, May 16, 1:52 AM · Restricted Project, Restricted Project
foad closed D125566: [AMDGPU] SIShrinkInstructions: change static functions to methods.
Mon, May 16, 1:52 AM · Restricted Project, Restricted Project
foad closed D125565: [AMDGPU] Extract SIInstrInfo::removeModOperands. NFC..
Mon, May 16, 1:52 AM · Restricted Project, Restricted Project

Sun, May 15

foad updated the diff for D125565: [AMDGPU] Extract SIInstrInfo::removeModOperands. NFC..

Make ModifierOpNames a constexpr.

Sun, May 15, 6:23 AM · Restricted Project, Restricted Project

Sat, May 14

foad added inline comments to D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf.
Sat, May 14, 10:06 AM · Restricted Project, Restricted Project, Restricted Project
foad updated the diff for D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf.

Address some review comments.

Sat, May 14, 10:02 AM · Restricted Project, Restricted Project, Restricted Project
foad committed rG169ae6db6988: [APInt] Allow extending and truncating to the same width (authored by foad).
[APInt] Allow extending and truncating to the same width
Sat, May 14, 2:04 AM · Restricted Project, Restricted Project
foad closed D125556: [APInt] Allow extending and truncating to the same width.
Sat, May 14, 2:03 AM · Restricted Project, Restricted Project

Fri, May 13

foad added a comment to D125556: [APInt] Allow extending and truncating to the same width.

@craig.topper sorry to reply to a comment that you deleted, but I did want to address this here:

Fri, May 13, 12:28 PM · Restricted Project, Restricted Project
foad added a comment to D125558: [APInt] Deprecate truncOrSelf, zextOrSelf and sextOrSelf.

This is great in concept but I think we have macros to deprecate things in compiler.h,

Fri, May 13, 12:20 PM · Restricted Project, Restricted Project
foad accepted D125569: [AMDGPU] Mark sendmsg hasSideEffects. NFC.

LGTM since it matches the intrinsics now. Thanks!

Fri, May 13, 12:13 PM · Restricted Project, Restricted Project
foad requested review of D125567: [AMDGPU] Shrink MAD/FMA to MADAK/MADMK/FMAAK/FMAMK on GFX10.
Fri, May 13, 10:21 AM · Restricted Project, Restricted Project
foad requested review of D125566: [AMDGPU] SIShrinkInstructions: change static functions to methods.
Fri, May 13, 10:21 AM · Restricted Project, Restricted Project
foad requested review of D125565: [AMDGPU] Extract SIInstrInfo::removeModOperands. NFC..
Fri, May 13, 10:21 AM · Restricted Project, Restricted Project
foad requested review of D125559: [APInt] Remove truncOrSelf, zextOrSelf and sextOrSelf.
Fri, May 13, 9:12 AM · Restricted Project, Restricted Project
foad requested review of D125558: [APInt] Deprecate truncOrSelf, zextOrSelf and sextOrSelf.
Fri, May 13, 9:11 AM · Restricted Project, Restricted Project
foad requested review of D125557: [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf.
Fri, May 13, 9:11 AM · Restricted Project, Restricted Project, Restricted Project
foad requested review of D125556: [APInt] Allow extending and truncating to the same width.
Fri, May 13, 9:11 AM · Restricted Project, Restricted Project
foad committed rGfcbf617dcc51: [APInt] Fix documentation of *OrSelf methods (authored by foad).
[APInt] Fix documentation of *OrSelf methods
Fri, May 13, 7:27 AM · Restricted Project, Restricted Project
foad added a reviewer for D125516: [GlobalISel] Handle constant splat in funnel shift combine: Petar.Avramovic.
Fri, May 13, 5:17 AM · Restricted Project, Restricted Project
foad accepted D125516: [GlobalISel] Handle constant splat in funnel shift combine.

LGTM. Maybe wait a day in case anyone else has opinions about the names you used for the new matchers.

Fri, May 13, 5:17 AM · Restricted Project, Restricted Project
foad accepted D125539: [AMDGPU][GlobalISel] Pre-commit tests for D125516.
Fri, May 13, 5:14 AM · Restricted Project, Restricted Project