Page MenuHomePhabricator

sheredom (Neil Henning)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 6 2013, 2:54 AM (354 w, 2 d)

Compiler Warlock @ Unity

Recent Activity

Feb 19 2020

sheredom added inline comments to D73342: Fix EarlyCSE to intersect aliasing metadata..
Feb 19 2020, 2:26 AM · Restricted Project

Feb 17 2020

sheredom added a comment to D73342: Fix EarlyCSE to intersect aliasing metadata..

@hfinkel ping?

Feb 17 2020, 8:05 AM · Restricted Project

Feb 3 2020

sheredom added a comment to D73342: Fix EarlyCSE to intersect aliasing metadata..

@hfinkel ping?

Feb 3 2020, 1:59 AM · Restricted Project

Jan 28 2020

sheredom updated the diff for D73342: Fix EarlyCSE to intersect aliasing metadata..

Use combineMetadataForCSE to combine the metadata.

Jan 28 2020, 8:43 AM · Restricted Project

Jan 27 2020

sheredom added a comment to D73342: Fix EarlyCSE to intersect aliasing metadata..

Can you explain in more detail why the current behavior is incorrect? Why is using the aliasing information in program order wrong? If the first load is noalias, then we should be able to deduplicate to that noalias load. If the second load is noalias, then generally we can't assume the first load is also noalias. Unless there is a must-exec relation between them, as @nlopes mentioned.

We have two issues here;

  1. For any pass, if it changes any instruction with metadata that it does not understand, it should drop that metadata. That's the contract that we need to maintain.
  2. For this AA metadata in particular, we need to intersect the metadata, and this is true to preserve semantics for almost all other known metadata (AA, profiling, fp-precision, debug) although likely for it is not correct to keep only one, or the other, because of potential dynamic dependencies on the results.

For AA, as an example, we can have something like this:

int * restrict r = a;
int x = should_alias ? *a : *r;

(essentially the same is true using casts as TBAA).

In any case, we should be calling the function llvm::combineMetadataForCSE here. Please update the patch to do that.

Jan 27 2020, 7:07 AM · Restricted Project

Jan 24 2020

sheredom created D73342: Fix EarlyCSE to intersect aliasing metadata..
Jan 24 2020, 3:58 AM · Restricted Project

Jan 6 2020

sheredom committed rG103a58c8f2b0: Add ExternalAAWrapperPass to createLegacyPMAAResults. (authored by sheredom).
Add ExternalAAWrapperPass to createLegacyPMAAResults.
Jan 6 2020, 12:54 AM
sheredom closed D71348: Add ExternalAAWrapperPass to createLegacyPMAAResults..
Jan 6 2020, 12:53 AM · Restricted Project

Dec 13 2019

sheredom added a comment to D71348: Add ExternalAAWrapperPass to createLegacyPMAAResults..

@nhaehnle just added you so that you are aware of this change - it in theory could minorly change codegen on AMDGPU but I think you don't actually return any more precise noaliasing state so it should (tm) be fine. But thought it was worth you oking this either way!

Why would it change the AMDGPU backend? It looks like the AMDGPU backend does provide additional pointsToConstantMemory information via its AA implementation.

Dec 13 2019, 2:38 AM · Restricted Project

Dec 11 2019

sheredom added a comment to D71348: Add ExternalAAWrapperPass to createLegacyPMAAResults..

@nhaehnle just added you so that you are aware of this change - it in theory could minorly change codegen on AMDGPU but I think you don't actually return any more precise noaliasing state so it should (tm) be fine. But thought it was worth you oking this either way!

Dec 11 2019, 5:40 AM · Restricted Project
sheredom created D71348: Add ExternalAAWrapperPass to createLegacyPMAAResults..
Dec 11 2019, 5:31 AM · Restricted Project

Jun 20 2019

sheredom accepted D63593: [Scalarizer] Propagate IR flags.
Jun 20 2019, 5:10 AM · Restricted Project

May 24 2019

sheredom committed rG119c31ad9374: StructurizeCFG: Relax uniformity checks. (authored by sheredom).
StructurizeCFG: Relax uniformity checks.
May 24 2019, 2:00 AM
sheredom committed rL361610: StructurizeCFG: Relax uniformity checks..
StructurizeCFG: Relax uniformity checks.
May 24 2019, 2:00 AM
sheredom closed D62198: StructurizeCFG: Relax uniformity checks..
May 24 2019, 2:00 AM · Restricted Project

May 22 2019

sheredom added a comment to D62198: StructurizeCFG: Relax uniformity checks..

I'm personally not confident enough in this change to enable it unconditionally immediately. I think this should be guarded with an option.

May 22 2019, 1:35 AM · Restricted Project
sheredom updated the diff for D62198: StructurizeCFG: Relax uniformity checks..

Guarded the change by an option to allow users of the structurizer to turn this functionality on in their own time.

May 22 2019, 1:35 AM · Restricted Project

May 21 2019

sheredom created D62198: StructurizeCFG: Relax uniformity checks..
May 21 2019, 7:37 AM · Restricted Project

May 1 2019

sheredom added a comment to D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

I think you might be overcomplicating this. I'd suggest the following:

  1. scan all index types for a gep
  2. run current code, but if any operand was gep, skip the recursive call on the operand

It's slightly less powerful, but correct, and easy. And frankly, optimize geps of struct types is probably rare enough we don't care.

p.s. Agreed on the location of test file, please add to existing tests.

I don't really understand what your suggestion is here sorry - let me try and rephrase the suggestion and see if we agree?

I submitted a version along what I proposed as https://reviews.llvm.org/rL359633. Please confirm that fixes your crash. If you want to work on a better version of the fix, I'm happy to review, but I wanted to make sure the crash was resolved.

May 1 2019, 5:41 AM · Restricted Project
sheredom added inline comments to rL359633: [InstCombine] Limit a vector demanded elts rule which was producing invalid IR..
May 1 2019, 12:56 AM

Apr 30 2019

sheredom updated the diff for D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

Added the extra test case that @spatel found that my change also fixes.

Apr 30 2019, 6:26 AM · Restricted Project
sheredom added a comment to D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

@spatel yup its the same bug, and my fix fixes it to. I'll add it to my test changes.

Apr 30 2019, 6:02 AM · Restricted Project
sheredom added a comment to D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

@reames ping?

Apr 30 2019, 1:33 AM · Restricted Project

Apr 23 2019

sheredom updated the diff for D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

Fix some review comments by @spatel

Apr 23 2019, 3:41 AM · Restricted Project
sheredom added a comment to D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..

I think you might be overcomplicating this. I'd suggest the following:

  1. scan all index types for a gep
  2. run current code, but if any operand was gep, skip the recursive call on the operand

It's slightly less powerful, but correct, and easy. And frankly, optimize geps of struct types is probably rare enough we don't care.

p.s. Agreed on the location of test file, please add to existing tests.

Apr 23 2019, 3:17 AM · Restricted Project

Apr 12 2019

sheredom created D60600: [InstCombine] Fix a vector-of-pointers instcombine undef bug..
Apr 12 2019, 1:59 AM · Restricted Project

Apr 1 2019

sheredom committed rG0a30f33ce21d: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure. (authored by sheredom).
[AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure.
Apr 1 2019, 8:19 AM
sheredom committed rL357400: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
[AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure.
Apr 1 2019, 8:19 AM
sheredom closed D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Apr 1 2019, 8:19 AM · Restricted Project, Restricted Project

Mar 29 2019

sheredom added a reviewer for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure.: tpr.
Mar 29 2019, 9:00 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Found a fun little bug whereby the phys vgprs were being coalesced onto previous instructions, and then shouldClusterMemOps was assuming only virt regs. Added a workaround for that.

Mar 29 2019, 9:00 AM · Restricted Project, Restricted Project

Mar 22 2019

sheredom accepted D59698: AMDGPU: Preserve LiveIntervals in WQM.
Mar 22 2019, 1:59 PM
sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Update for two reasons:

Mar 22 2019, 5:49 AM · Restricted Project, Restricted Project

Mar 21 2019

sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Fix review comments.

Mar 21 2019, 2:14 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 21 2019, 2:11 AM · Restricted Project, Restricted Project

Mar 19 2019

sheredom added a reviewer for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure.: arsenm.
Mar 19 2019, 10:15 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 19 2019, 10:14 AM · Restricted Project, Restricted Project
sheredom committed rG47c2bd2b349f: [AMDGPU] Add convergent attribute to WWM. (authored by sheredom).
[AMDGPU] Add convergent attribute to WWM.
Mar 19 2019, 9:31 AM
sheredom committed rL356470: [AMDGPU] Add convergent attribute to WWM..
[AMDGPU] Add convergent attribute to WWM.
Mar 19 2019, 9:31 AM
sheredom closed D59536: [AMDGPU] Add convergent attribute to WWM..
Mar 19 2019, 9:31 AM · Restricted Project, Restricted Project
sheredom committed rGe85f6bd64fbe: [AMDGPU] Ban i8 min3 promotion. (authored by sheredom).
[AMDGPU] Ban i8 min3 promotion.
Mar 19 2019, 8:50 AM
sheredom committed rL356464: [AMDGPU] Ban i8 min3 promotion..
[AMDGPU] Ban i8 min3 promotion.
Mar 19 2019, 8:50 AM
sheredom closed D59543: [AMDGPU] Ban non-supported min3/max3 promotions..
Mar 19 2019, 8:49 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59543: [AMDGPU] Ban non-supported min3/max3 promotions..
Mar 19 2019, 7:42 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59543: [AMDGPU] Ban non-supported min3/max3 promotions..

Added the max3 cases too.

Mar 19 2019, 7:42 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59543: [AMDGPU] Ban non-supported min3/max3 promotions..
Mar 19 2019, 7:26 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59543: [AMDGPU] Ban non-supported min3/max3 promotions..

Changed it to a whitelist of types rather than a blacklist (much better idea).

Mar 19 2019, 7:26 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59543: [AMDGPU] Ban non-supported min3/max3 promotions..

Fixed review comments by Matt and added the extra test cases that were a great idea!

Mar 19 2019, 7:17 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59543: [AMDGPU] Ban non-supported min3/max3 promotions..
Mar 19 2019, 7:00 AM · Restricted Project, Restricted Project
sheredom created D59543: [AMDGPU] Ban non-supported min3/max3 promotions..
Mar 19 2019, 6:29 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 19 2019, 1:45 AM · Restricted Project, Restricted Project
sheredom created D59536: [AMDGPU] Add convergent attribute to WWM..
Mar 19 2019, 1:45 AM · Restricted Project, Restricted Project

Mar 18 2019

sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 18 2019, 8:39 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Reduce the number of DPP calls in the test for cleanliness, and reintroduce the convergent on WWM. The CFG test contains the bug that was exposed by the lack of convergent on WWM, LLVM will sink the WWM statement out of the branch which totally messes up all calculations.

Mar 18 2019, 8:39 AM · Restricted Project, Restricted Project
sheredom committed rG523dab07887f: [AMDGPU] Add an experimental buffer fat pointer address space. (authored by sheredom).
[AMDGPU] Add an experimental buffer fat pointer address space.
Mar 18 2019, 7:46 AM
sheredom committed rL356373: [AMDGPU] Add an experimental buffer fat pointer address space..
[AMDGPU] Add an experimental buffer fat pointer address space.
Mar 18 2019, 7:43 AM
sheredom closed D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 18 2019, 7:43 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 18 2019, 7:37 AM · Restricted Project, Restricted Project
sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 18 2019, 6:48 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Remove the explicit pass name.

Mar 18 2019, 6:44 AM · Restricted Project, Restricted Project
sheredom added inline comments to D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 18 2019, 6:44 AM · Restricted Project, Restricted Project
sheredom updated the diff for D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..

Addressed all review comments.

Mar 18 2019, 6:23 AM · Restricted Project, Restricted Project

Mar 13 2019

sheredom created D59295: [AMDGPU] Pre-allocate WWM registers to reduce VGPR pressure..
Mar 13 2019, 6:29 AM · Restricted Project, Restricted Project

Mar 7 2019

sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 7 2019, 1:45 AM · Restricted Project, Restricted Project
sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 7 2019, 12:58 AM · Restricted Project, Restricted Project

Mar 6 2019

sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 6 2019, 9:41 AM · Restricted Project, Restricted Project
sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 6 2019, 8:49 AM · Restricted Project, Restricted Project
sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 6 2019, 6:22 AM · Restricted Project, Restricted Project
sheredom updated the diff for D58957: [AMDGPU] Add an experimental buffer fat pointer address space..

Add a test case that triggers the target transform info code path.

Mar 6 2019, 6:22 AM · Restricted Project, Restricted Project

Mar 5 2019

sheredom added inline comments to D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 5 2019, 8:22 AM · Restricted Project, Restricted Project
sheredom accepted D58697: AMDGPU: Don't add unnecessary convergent attributes.

LGTM.

Mar 5 2019, 3:08 AM
sheredom created D58957: [AMDGPU] Add an experimental buffer fat pointer address space..
Mar 5 2019, 3:08 AM · Restricted Project, Restricted Project
sheredom accepted D58900: [AMDGPU] Fix DPP operand order in atomic optimizer.

LGTM.

Mar 5 2019, 3:05 AM · Restricted Project

Feb 11 2019

sheredom committed rG8c10fa1a903f: [AMDGPU] Fix DPP sequence in atomic optimizer. (authored by sheredom).
[AMDGPU] Fix DPP sequence in atomic optimizer.
Feb 11 2019, 6:44 AM
sheredom committed rL353703: [AMDGPU] Fix DPP sequence in atomic optimizer..
[AMDGPU] Fix DPP sequence in atomic optimizer.
Feb 11 2019, 6:43 AM
sheredom closed D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..
Feb 11 2019, 6:43 AM · Restricted Project, Restricted Project
sheredom added a comment to D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..
In D57737#1392667, @tpr wrote:

But I still don't understand it:

  1. Why do you want an exclusive scan? Surely what you're trying to do is just "sum" up all lanes into lane 63, which is an inclusive scan.
Feb 11 2019, 3:49 AM · Restricted Project, Restricted Project
sheredom added inline comments to D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..
Feb 11 2019, 3:26 AM · Restricted Project, Restricted Project
sheredom updated the diff for D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..

Fix comment that should now say exclusive scan instead of inclusive scan.

Feb 11 2019, 2:50 AM · Restricted Project, Restricted Project

Feb 8 2019

sheredom updated the diff for D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..

Make the final readlane be in the WWM section too as per the review comments.

Feb 8 2019, 2:06 AM · Restricted Project, Restricted Project

Feb 7 2019

sheredom added inline comments to D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..
Feb 7 2019, 5:02 AM · Restricted Project, Restricted Project

Feb 6 2019

sheredom updated the diff for D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..

Updated to bring in an additional fix to remove read_register exec and replace it with a ballot.

Feb 6 2019, 1:46 AM · Restricted Project, Restricted Project

Feb 5 2019

sheredom created D57737: [AMDGPU] Fix DPP sequence in atomic optimizer..
Feb 5 2019, 1:42 AM · Restricted Project, Restricted Project

Jan 29 2019

sheredom committed rL352500: [AMDGPU] Fix a weird WWM intrinsic issue..
[AMDGPU] Fix a weird WWM intrinsic issue.
Jan 29 2019, 6:28 AM
sheredom closed D56002: [AMDGPU] Fix a weird WWM intrinsic issue..
Jan 29 2019, 6:28 AM · Restricted Project

Jan 28 2019

sheredom updated the diff for D56002: [AMDGPU] Fix a weird WWM intrinsic issue..

Fixed review comments.

Jan 28 2019, 4:10 AM · Restricted Project

Jan 18 2019

sheredom committed rL351562: [AMDGPU] Add some missing always-uniform values..
[AMDGPU] Add some missing always-uniform values.
Jan 18 2019, 8:44 AM
sheredom closed D56845: [AMDGPU] Add some missing always-uniform values..
Jan 18 2019, 8:44 AM · Restricted Project
sheredom updated the diff for D56845: [AMDGPU] Add some missing always-uniform values..

Fix review comments.

Jan 18 2019, 8:44 AM · Restricted Project

Jan 17 2019

sheredom updated the diff for D56845: [AMDGPU] Add some missing always-uniform values..

Review comments.

Jan 17 2019, 9:52 AM · Restricted Project
sheredom updated the diff for D56845: [AMDGPU] Add some missing always-uniform values..

Also tag s.getpc as scalar, and add tests in the Analysis folder like suggested.

Jan 17 2019, 8:18 AM · Restricted Project
sheredom added a comment to D56845: [AMDGPU] Add some missing always-uniform values..

@arsenm agreed - not quite sure how to do tests for this? I started to look at how we test alias analysis, and they have a cl::opt to force print the debug info for that pass, and that is how our amdgpu-alias-analysis.ll tests the aliasing rules. How exactly to test that divergence analysis did something here?

Jan 17 2019, 5:57 AM · Restricted Project
sheredom created D56845: [AMDGPU] Add some missing always-uniform values..
Jan 17 2019, 4:10 AM · Restricted Project

Jan 10 2019

sheredom committed rL350838: [AMDGPU] Fix dwordx3/southern-islands failures..
[AMDGPU] Fix dwordx3/southern-islands failures.
Jan 10 2019, 8:25 AM
sheredom closed D56434: [AMDGPU] Fix dwordx3/southern-islands failures..
Jan 10 2019, 8:24 AM · Restricted Project
sheredom added a comment to D55444: AMDGPU: Fix DPP combiner.

@cwabbott I planned to do a followup once this DPP change had landed to add the missing dpp/codegen patterns to the atomic optimizer - so watch this space!

Jan 10 2019, 6:16 AM · Restricted Project, Restricted Project

Jan 9 2019

sheredom added inline comments to D56434: [AMDGPU] Fix dwordx3/southern-islands failures..
Jan 9 2019, 5:06 AM · Restricted Project
sheredom updated the diff for D56434: [AMDGPU] Fix dwordx3/southern-islands failures..

Fix review comment.

Jan 9 2019, 5:06 AM · Restricted Project

Jan 8 2019

sheredom added inline comments to D56434: [AMDGPU] Fix dwordx3/southern-islands failures..
Jan 8 2019, 5:37 AM · Restricted Project
sheredom updated the diff for D56434: [AMDGPU] Fix dwordx3/southern-islands failures..

Fix review comments.

Jan 8 2019, 5:32 AM · Restricted Project