Include the following intrinsics in the InsctCombine
simplification:
- amdgcn_raw_buffer_load
- amdgcn_raw_buffer_load_format
- amdgcn_struct_buffer_load
- amdgcn_struct_buffer_load_format
Change-Id: I14deceff74bcb21179baf6aa6e94bf39e7d63d5d
Paths
| Differential D55882
[InstCombine][AMDGPU] Handle more buffer intrinsics ClosedPublic Authored by piotr on Dec 19 2018, 2:38 AM.
Details Summary Include the following intrinsics in the InsctCombine
Change-Id: I14deceff74bcb21179baf6aa6e94bf39e7d63d5d
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, t-tye, tpr and 6 others. · View Herald TranscriptDec 19 2018, 2:38 AM This revision is now accepted and ready to land.Dec 19 2018, 2:57 AM Comment Actions
Hi Matt, Could you please describe what kind of a transformation you have in mind? The function simplifyAMDGCNMemoryIntrinsicDemanded only does a useful work for vector inputs. The primary gain from this patch is to handle such constructs as evidenced in test line 471: from: %data = call <3 x float> @llvm.amdgcn.raw.buffer.load.v3f32 %elt0 = extractelement <3 x float> %data, i32 0 ret float %elt0 into %data = call float @llvm.amdgcn.raw.buffer.load.f32 ret float %data Closed by commit rL349735: [InstCombine][AMDGPU] Handle more buffer intrinsics (authored by piotr). · Explain WhyDec 20 2018, 2:11 AM This revision was automatically updated to reflect the committed changes. Comment Actions Thanks for the review. I have just pushed the patch. Feel free to suggest ideas to extend this patch and I will be happy to work on them.
Revision Contents
Diff 178854 lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
|