Page MenuHomePhabricator

foad (Jay Foad)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Fri, Apr 9

foad committed rG5a0117b2d0ea: [AMDGPU] Remove MachineDCE after SIFoldOperands (authored by foad).
[AMDGPU] Remove MachineDCE after SIFoldOperands
Fri, Apr 9, 12:43 PM
foad committed rGd19a42eba98f: [AMDGPU] SIFoldOperands: eagerly erase dead REG_SEQUENCEs (authored by foad).
[AMDGPU] SIFoldOperands: eagerly erase dead REG_SEQUENCEs
Fri, Apr 9, 12:43 PM
foad closed D100189: [AMDGPU] Remove MachineDCE after SIFoldOperands.
Fri, Apr 9, 12:42 PM · Restricted Project
foad closed D100188: [AMDGPU] SIFoldOperands: eagerly erase dead REG_SEQUENCEs.
Fri, Apr 9, 12:42 PM · Restricted Project
foad added inline comments to D100188: [AMDGPU] SIFoldOperands: eagerly erase dead REG_SEQUENCEs.
Fri, Apr 9, 6:13 AM · Restricted Project
foad requested review of D100189: [AMDGPU] Remove MachineDCE after SIFoldOperands.
Fri, Apr 9, 6:11 AM · Restricted Project
foad requested review of D100188: [AMDGPU] SIFoldOperands: eagerly erase dead REG_SEQUENCEs.
Fri, Apr 9, 6:11 AM · Restricted Project
foad committed rGa4ced03d3425: [AMDGPU] SIFoldOperands: eagerly delete dead copies (authored by foad).
[AMDGPU] SIFoldOperands: eagerly delete dead copies
Fri, Apr 9, 5:57 AM
foad closed D100117: [AMDGPU] SIFoldOperands: eagerly delete dead copies.
Fri, Apr 9, 5:57 AM · Restricted Project
foad accepted D99743: [AMDGPU] Use enum for flat variants. NFC.
Fri, Apr 9, 2:55 AM · Restricted Project
foad added a comment to D99743: [AMDGPU] Use enum for flat variants. NFC.

Incidentally I think it would be simpler if AMDGPU::getNumFlatOffsetBits did not take a "signed" argument, always returned the total number of bits in the field, and it was the caller's responsibility to worry about whether negative offsets are allowed or not.

Fri, Apr 9, 2:44 AM · Restricted Project
foad updated the diff for D100117: [AMDGPU] SIFoldOperands: eagerly delete dead copies.

Add a DBG_VALUE test case.

Fri, Apr 9, 1:48 AM · Restricted Project
foad closed D100100: [AMDGPU] SIFoldOperands: try harder to fold cndmask instructions.

c28f79a0e3352a972026f6dc896d13f81835b468

Fri, Apr 9, 12:47 AM · Restricted Project

Thu, Apr 8

foad updated the diff for D100117: [AMDGPU] SIFoldOperands: eagerly delete dead copies.

Use eraseFromParentAndMarkDBGValuesForRemoval.

Thu, Apr 8, 9:41 AM · Restricted Project
foad added a comment to D100123: [AMDGPU] Add TransVALU to gfx10.

I have no objection to this as a first step in the right direction, but I think it should have no effect at all at the moment. The schedmodel already knows that we can only issue one instruction per cycle, and this patch does not affect that. It only becomes interesting when you model the fact that issuing a trans instruction consumes the trans ALU for (say) 4 cycles, so that on the following 3 cycles you could issue a normal VALU instruction but *not* another trans instruction.

Thu, Apr 8, 9:23 AM · Restricted Project
foad added inline comments to D100117: [AMDGPU] SIFoldOperands: eagerly delete dead copies.
Thu, Apr 8, 8:47 AM · Restricted Project
foad requested review of D100117: [AMDGPU] SIFoldOperands: eagerly delete dead copies.
Thu, Apr 8, 8:42 AM · Restricted Project
foad committed rGe184eeaa3ba1: [AMDGPU] Add some implicit uses to tests. NFC. (authored by foad).
[AMDGPU] Add some implicit uses to tests. NFC.
Thu, Apr 8, 8:42 AM
foad committed rGa1a372dfb526: [AMDGPU] SIFoldOperands: remove an unneeded isReg check. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: remove an unneeded isReg check. NFC.
Thu, Apr 8, 8:39 AM
foad added a reviewer for D100108: [AMDGPU] IsFlatScratch/Global -> FlatScratch/Global: rampitec.

... but adding @rampitec for awareness.

Thu, Apr 8, 7:49 AM · Restricted Project
foad accepted D100108: [AMDGPU] IsFlatScratch/Global -> FlatScratch/Global.

Seems fine to me. There is not much consistency in the naming of the SIInstrFlags flags.

Thu, Apr 8, 7:49 AM · Restricted Project
foad added a comment to D100108: [AMDGPU] IsFlatScratch/Global -> FlatScratch/Global.

Should I do the same for is_flat_scratch/global?

Thu, Apr 8, 7:47 AM · Restricted Project
foad committed rGa250e91d1034: [AMDGPU] SIFoldOperands: make use of emplace_back. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: make use of emplace_back. NFC.
Thu, Apr 8, 6:52 AM
foad committed rG2724b57ecdbb: [AMDGPU] SIFoldOperands: remove an unneeded make_early_inc_range. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: remove an unneeded make_early_inc_range. NFC.
Thu, Apr 8, 6:52 AM
foad committed rGc28f79a0e335: [AMDGPU] SIFoldOperands: try harder to fold cndmask instructions (authored by foad).
[AMDGPU] SIFoldOperands: try harder to fold cndmask instructions
Thu, Apr 8, 6:26 AM
foad added a comment to D100100: [AMDGPU] SIFoldOperands: try harder to fold cndmask instructions.

This removes the "Folded" set that @hliao added in D93174.

Thu, Apr 8, 6:20 AM · Restricted Project
foad requested review of D100100: [AMDGPU] SIFoldOperands: try harder to fold cndmask instructions.
Thu, Apr 8, 6:19 AM · Restricted Project
foad committed rG3344cd3a1477: [AMDGPU] SIFoldOperands: make tryFoldCndMask a member function. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: make tryFoldCndMask a member function. NFC.
Thu, Apr 8, 6:05 AM
foad committed rG94a6fe43de45: [AMDGPU] SIFoldOperands: refactor tryFoldCndMask with early-outs. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: refactor tryFoldCndMask with early-outs. NFC.
Thu, Apr 8, 5:16 AM
foad added a comment to D98784: [AMDGPU][GlobalISel] Fix unable to legalize G_FSHL error.

D76500 has landed now, so maybe abandon this review?

Thu, Apr 8, 3:31 AM · Restricted Project
foad added a comment to D99743: [AMDGPU] Use enum for flat variants. NFC.

Use SIInstrFlags instead of new enum.

Thu, Apr 8, 1:09 AM · Restricted Project

Wed, Apr 7

foad updated the diff for D100031: [AMDGPU] SIFoldOperands: clean up tryConstantFoldOp.

The '\n' is redundant since MI print includes it already

Wed, Apr 7, 6:16 AM · Restricted Project
foad committed rGbf6cab6f07e1: [AMDGPU] SIFoldOperands: don't dump extra '\n' after MachineInstr. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: don't dump extra '\n' after MachineInstr. NFC.
Wed, Apr 7, 6:13 AM
foad requested review of D100031: [AMDGPU] SIFoldOperands: clean up tryConstantFoldOp.
Wed, Apr 7, 5:57 AM · Restricted Project

Tue, Apr 6

foad committed rG8f798566a398: [AMDGPU] SIFoldOperands: use isUseMIInFoldList. NFC. (authored by foad).
[AMDGPU] SIFoldOperands: use isUseMIInFoldList. NFC.
Tue, Apr 6, 9:54 AM
foad added a comment to D98884: [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction.

I think it was also causing this failure in my Release+Asserts build:

/home/jayfoad2/git/llvm-project/llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll:150:16: error: CHECK-LABEL: expected string not found in input
; CHECK-LABEL: define internal void @branch_funnel(i8*
               ^
<stdin>:81:16: note: scanning from here
define i32 @fn3(i8* nocapture readonly %obj) local_unnamed_addr #2 {
               ^
<stdin>:95:18: note: possible intended match here
define hidden void @__typeid_typeid1_0_branch_funnel(i8* nest %0, ...) local_unnamed_addr #6 {
                 ^
...
Failed Tests (1):
  LLVM :: Transforms/WholeProgramDevirt/branch-funnel.ll
Tue, Apr 6, 8:18 AM · Restricted Project
foad committed rGefc7bf27f5ee: [AMDGPU] SIFoldOperands: use MachineRegisterInfo::hasOneNonDBGUser (authored by foad).
[AMDGPU] SIFoldOperands: use MachineRegisterInfo::hasOneNonDBGUser
Tue, Apr 6, 7:25 AM
foad committed rG005dcd196ef6: [AMDGPU] SIFoldOperands: use range-based loops and make_early_inc_range (authored by foad).
[AMDGPU] SIFoldOperands: use range-based loops and make_early_inc_range
Tue, Apr 6, 7:25 AM
foad committed rGce9cca6c3a31: [AMDGPU] SIFoldOperands: rename tryFoldInst to tryFoldCndMask (authored by foad).
[AMDGPU] SIFoldOperands: rename tryFoldInst to tryFoldCndMask
Tue, Apr 6, 7:24 AM
foad committed rGcf4f5292f637: [AMDGPU] SIFoldOperands: use getVRegDef instead of getUniqueVRegDef (authored by foad).
[AMDGPU] SIFoldOperands: use getVRegDef instead of getUniqueVRegDef
Tue, Apr 6, 7:24 AM
foad committed rGe9608a84d881: [AMDGPU][SDag] Add IMG init also for image_gather4 instructions (authored by foad).
[AMDGPU][SDag] Add IMG init also for image_gather4 instructions
Tue, Apr 6, 6:48 AM
foad closed D99953: [AMDGPU][SDag] Add IMG init also for image_gather4 instructions.
Tue, Apr 6, 6:47 AM · Restricted Project
foad requested review of D99953: [AMDGPU][SDag] Add IMG init also for image_gather4 instructions.
Tue, Apr 6, 6:36 AM · Restricted Project
foad committed rG0bf4836dc4cf: [AMDGPU] Fix dubious regexes with unescaped brackets. NFC. (authored by foad).
[AMDGPU] Fix dubious regexes with unescaped brackets. NFC.
Tue, Apr 6, 5:18 AM
foad committed rG6fec0a34ceb0: [AMDGPU] Fix typo in regular expression checks. NFC. (authored by foad).
[AMDGPU] Fix typo in regular expression checks. NFC.
Tue, Apr 6, 4:35 AM
foad committed rG6eb5b06ecfe4: [AMDGPU] Regenerate checks to fix prefixes broken in D96340. NFC. (authored by foad).
[AMDGPU] Regenerate checks to fix prefixes broken in D96340. NFC.
Tue, Apr 6, 3:45 AM
foad committed rG94d0fc32f54b: [AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c (authored by foad).
[AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c
Tue, Apr 6, 12:39 AM
foad closed D99647: [AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c.
Tue, Apr 6, 12:39 AM · Restricted Project

Thu, Apr 1

foad added a comment to D99743: [AMDGPU] Use enum for flat variants. NFC.

Is there some overlap with SIInstrFlags::FLAT, SIInstrFlags::IsFlatScratch, SIInstrFlags::IsFlatGlobal? It seems like your enum is encoding the same thing in a slightly different way. See also the is*FLAT* helper methods in SIInstrInfo.

Thu, Apr 1, 10:22 AM · Restricted Project
foad committed rGfdc4f19e2f80: [AMDGPU] Remove SIAddIMGInit pass which is now unused (authored by foad).
[AMDGPU] Remove SIAddIMGInit pass which is now unused
Thu, Apr 1, 10:14 AM
foad closed D99748: [AMDGPU] Remove SIAddIMGInit pass which is now unused.
Thu, Apr 1, 10:14 AM · Restricted Project
foad committed rG3d07a6d891f5: [AMDGPU][GlobalISel] Add IMG init in selectImageIntrinsic (authored by foad).
[AMDGPU][GlobalISel] Add IMG init in selectImageIntrinsic
Thu, Apr 1, 10:14 AM
foad closed D99670: [AMDGPU] Don't rely on SIAddIMGInit for GlobalISel.
Thu, Apr 1, 10:14 AM · Restricted Project
foad committed rG4af6251cea02: [AMDGPU][SDag] Add IMG init in AdjustInstrPostInstrSelection (authored by foad).
[AMDGPU][SDag] Add IMG init in AdjustInstrPostInstrSelection
Thu, Apr 1, 10:14 AM
foad closed D99747: [AMDGPU][SDag] Add IMG init in AdjustInstrPostInstrSelection.
Thu, Apr 1, 10:14 AM · Restricted Project
foad requested review of D99748: [AMDGPU] Remove SIAddIMGInit pass which is now unused.
Thu, Apr 1, 10:10 AM · Restricted Project
foad updated the diff for D99670: [AMDGPU] Don't rely on SIAddIMGInit for GlobalISel.

Rebase.

Thu, Apr 1, 10:10 AM · Restricted Project
foad requested review of D99747: [AMDGPU][SDag] Add IMG init in AdjustInstrPostInstrSelection.
Thu, Apr 1, 10:10 AM · Restricted Project
foad committed rGb1fbfd9e4c2c: [AMDGPU] Small cleanup to constructRetValue and its caller. NFC. (authored by foad).
[AMDGPU] Small cleanup to constructRetValue and its caller. NFC.
Thu, Apr 1, 8:44 AM
foad accepted D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.

LGTM.

Thu, Apr 1, 8:10 AM · Restricted Project
foad added a comment to D99352: [AMDGPU] ds_read_*/ds_write_* operations require strict alignment..

@foad can we run it trough gfx perf suite? With exception of one ds_write_b64 store it seems reasonable to me. Of course these splits to b8 would be unfortunate but I assume it shall not happen in real life too often and the data is usually better aligned.

Thu, Apr 1, 6:33 AM · Restricted Project
foad added a comment to D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.

Looks good to me apart from the G_FCONSTANT issues.

Thu, Apr 1, 1:58 AM · Restricted Project

Wed, Mar 31

foad requested review of D99670: [AMDGPU] Don't rely on SIAddIMGInit for GlobalISel.
Wed, Mar 31, 9:53 AM · Restricted Project
foad committed rGa991ee330b6f: [AMDGPU] Use a common check prefix for some image tests. NFC. (authored by foad).
[AMDGPU] Use a common check prefix for some image tests. NFC.
Wed, Mar 31, 9:35 AM
foad committed rGb138cf115efa: [AMDGPU] Add some image tests with enable-prt-strict-null disabled. NFC. (authored by foad).
[AMDGPU] Add some image tests with enable-prt-strict-null disabled. NFC.
Wed, Mar 31, 9:35 AM
foad requested review of D99647: [AMDGPU] Add some missing testing for new subtargets gfx90a and gfx90c.
Wed, Mar 31, 3:40 AM · Restricted Project
foad committed rG5d0e9ddfa512: [AMDGPU][GlobalISel] Add support for global atomicrmw fadd (authored by foad).
[AMDGPU][GlobalISel] Add support for global atomicrmw fadd
Wed, Mar 31, 3:15 AM
foad closed D97767: [AMDGPU][GlobalISel] Add support for global atomicrmw fadd.
Wed, Mar 31, 3:15 AM · Restricted Project
foad accepted D99541: GlobalISel: Check for powers of 2 for inverse funnel shift lowering.

LGTM, thanks!

Wed, Mar 31, 2:04 AM · Restricted Project
foad abandoned D88485: [SDag][AMDGPU] Maintain DAG divergence through instruction selection.

Abandoning. It was just an experiment. There is no real use case for it.

Wed, Mar 31, 1:34 AM · Restricted Project

Tue, Mar 30

foad accepted D99388: [AArch64][GlobalISel] Combine funnel shifts to rotates..

Looks fine to me, thanks.

Tue, Mar 30, 10:27 AM · Restricted Project
foad added inline comments to D98884: [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction.
Tue, Mar 30, 7:05 AM · Restricted Project
foad accepted D99570: [AMDGPU] Remove outdated TODOs. NFC.

Seems obviously fine to me.

Tue, Mar 30, 5:16 AM · Restricted Project
foad added inline comments to D99352: [AMDGPU] ds_read_*/ds_write_* operations require strict alignment..
Tue, Mar 30, 3:57 AM · Restricted Project
foad added inline comments to D98884: [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction.
Tue, Mar 30, 3:38 AM · Restricted Project
foad added inline comments to D98884: [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction.
Tue, Mar 30, 2:15 AM · Restricted Project
foad added a comment to D93125: Update AMDGPU PAL usage documentation.

Please make the commit message a bit more descriptive than just "update".

Tue, Mar 30, 2:10 AM · Restricted Project
foad added inline comments to D99376: [AMDGPU] Mark additional VOP3 as commutable.
Tue, Mar 30, 2:08 AM · Restricted Project
foad added inline comments to D90050: AMDGPU/GlobalISel: Add integer med3 combines.
Tue, Mar 30, 2:00 AM · Restricted Project
foad added inline comments to D99541: GlobalISel: Check for powers of 2 for inverse funnel shift lowering.
Tue, Mar 30, 1:44 AM · Restricted Project
foad accepted D99449: [GlobalISel] Implement lowering for G_ROTR and G_ROTL..

Looks fine to me modulo the naming nit.

Tue, Mar 30, 1:11 AM · Restricted Project
foad added a comment to D99469: GlobalISel: Restrict narrow scalar for fptoui/fptosi results.

The code change looks fine to me. The added tests aren't actually testing any behaviour that has changed, are they? Is there any reasonable way to add tests for the unable-to-legalize case?

Tue, Mar 30, 12:27 AM · Restricted Project

Mon, Mar 29

foad added inline comments to D96906: [AMDGPU] gfx90a support.
Mon, Mar 29, 11:30 AM · Restricted Project, Restricted Project
foad accepted D99376: [AMDGPU] Mark additional VOP3 as commutable.
Mon, Mar 29, 11:20 AM · Restricted Project
foad added inline comments to D99449: [GlobalISel] Implement lowering for G_ROTR and G_ROTL..
Mon, Mar 29, 10:57 AM · Restricted Project
foad added a comment to D99507: [amdgpu] Add a pass to avoid jump into blocks with 0 exec mask..

In general I am uncomfortable about generating code that does not work (i.e. expanding spills the way we do when exec might be 0) and then running yet another pass for correctness to fix it up later. Is there a way this can be made correct by default, and if necessary run an extra pass that optimizes it for efficiency?

Mon, Mar 29, 9:37 AM · Restricted Project
foad added inline comments to D99507: [amdgpu] Add a pass to avoid jump into blocks with 0 exec mask..
Mon, Mar 29, 9:26 AM · Restricted Project
foad added inline comments to D98884: [IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction.
Mon, Mar 29, 8:30 AM · Restricted Project
foad added inline comments to D99507: [amdgpu] Add a pass to avoid jump into blocks with 0 exec mask..
Mon, Mar 29, 7:46 AM · Restricted Project
foad added inline comments to D88569: [DAGCombiner] Call SimplifyDemandedBits to simplify EXTRACT_VECTOR_ELT.
Mon, Mar 29, 3:16 AM · Restricted Project
foad added inline comments to D99449: [GlobalISel] Implement lowering for G_ROTR and G_ROTL..
Mon, Mar 29, 2:32 AM · Restricted Project

Fri, Mar 26

foad committed rG9d08f276d79b: [AMDGPU] Use reductions instead of scans in the atomic optimizer (authored by foad).
[AMDGPU] Use reductions instead of scans in the atomic optimizer
Fri, Mar 26, 8:42 AM
foad closed D98953: [AMDGPU] Use reductions instead of scans in the atomic optimizer.
Fri, Mar 26, 8:41 AM · Restricted Project
foad added a reviewer for D99413: [AMDGPU][MC][GFX10][GFX90A] Corrected _e32/_e64 suffices: Joe_Nash.
Fri, Mar 26, 8:34 AM · Restricted Project
foad added a reviewer for D99408: [AMDGPU][MC] Added flag to identify VOP instructions which have a single variant: Joe_Nash.

Adding @Joe_Nash since he made some changes related to _e64 suffixes quite recently.

Fri, Mar 26, 8:33 AM · Restricted Project
foad added inline comments to D99388: [AArch64][GlobalISel] Combine funnel shifts to rotates..
Fri, Mar 26, 4:54 AM · Restricted Project
foad added inline comments to D99383: [GlobalISel] Add G_ROTR and G_ROTL opcodes for rotates.
Fri, Mar 26, 4:48 AM · Restricted Project
foad committed rGd92b4956d6db: [AMDGPU] Inline FSHRPattern into its only use. NFC. (authored by foad).
[AMDGPU] Inline FSHRPattern into its only use. NFC.
Fri, Mar 26, 2:33 AM
foad requested changes to D99376: [AMDGPU] Mark additional VOP3 as commutable.
Fri, Mar 26, 2:02 AM · Restricted Project

Thu, Mar 25

foad added inline comments to D99352: [AMDGPU] ds_read_*/ds_write_* operations require strict alignment..
Thu, Mar 25, 10:15 AM · Restricted Project