Add trimming of unused components of s_buffer_load.
Extend trimming of *buffer_load to also include
unused components at the beginning of vectors and update offset.
Paths
| Differential D70315
[InstCombine][AMDGPU] Trim more components of *buffer_load ClosedPublic Authored by piotr on Nov 15 2019, 7:53 AM.
Details Summary Add trimming of unused components of s_buffer_load. Extend trimming of *buffer_load to also include
Diff Detail
Event Timeline
Comment Actions Addressed review comments, updated var name and fixed language in a comment. Regarding the new test: the code is in the function that can only be called by SimplifyDemandedVectorElts, so only for intrinsics with vector types, not pointer type. This revision is now accepted and ready to land.Dec 13 2019, 5:50 AM Closed by commit rG65f94b33808d: [InstCombine][AMDGPU] Trim more components of *buffer_load (authored by piotr). · Explain WhyDec 17 2019, 8:53 AM This revision was automatically updated to reflect the committed changes. Comment Actions This breaks gfx8. Can you revert? I'm trying to gather more details, but either there are bugs or the hw doesn't like it. piotr added a reverting change: rG40b5a0f7c89c: Revert "[InstCombine][AMDGPU] Trim more components of *buffer_load".Dec 18 2019, 1:13 PM
Revision Contents
Diff 229554 llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
|
Can you do Args(II->arg_begin(), II->arg_end())?