[llvm] [AMDGPU] New image intrinsic optimizer pass (PR #67151)

via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 22 08:04:32 PDT 2023


github-actions[bot] wrote:


<!--LLVM CODE FORMAT COMMENT: {clang-format}-->

:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 6cb3866b1ce9d835402e414049478cea82427cf1 36d958410e55e6450ee8445059fae5fac49f59e0 -- llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp llvm/lib/Target/AMDGPU/AMDGPU.h llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/AMDGPU/GCNSubtarget.h llvm/tools/opt/opt.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp b/llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
index c392cc4fd1eb..ae60d8c05e84 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
@@ -37,12 +37,17 @@
 // to MSAA_LOAD.
 //
 // This pass will combine intrinsics such as (not neccessarily consecutive):
-//  call float @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 0, <8 x i32> %rsrc, i32 0, i32 0)
-//  call float @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 1, <8 x i32> %rsrc, i32 0, i32 0)
-//  call float @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 2, <8 x i32> %rsrc, i32 0, i32 0)
-//  call float @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 3, <8 x i32> %rsrc, i32 0, i32 0)
+//  call float @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32
+//  0, <8 x i32> %rsrc, i32 0, i32 0) call float
+//  @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 1, <8 x
+//  i32> %rsrc, i32 0, i32 0) call float
+//  @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 2, <8 x
+//  i32> %rsrc, i32 0, i32 0) call float
+//  @llvm.amdgcn.image.load.2dmsaa.f32.i32(i32 1, i32 %s, i32 %t, i32 3, <8 x
+//  i32> %rsrc, i32 0, i32 0)
 // ==>
-//  call <4 x float> @llvm.amdgcn.image.msaa.load.2dmsaa.v4f32.i32(i32 1, i32 %s, i32 %t, i32 0, <8 x i32> %rsrc, i32 0, i32 0)
+//  call <4 x float> @llvm.amdgcn.image.msaa.load.2dmsaa.v4f32.i32(i32 1, i32
+//  %s, i32 %t, i32 0, <8 x i32> %rsrc, i32 0, i32 0)
 //
 // Future improvements:
 //
@@ -258,8 +263,8 @@ bool optimizeSection(std::list<std::list<IntrinsicInst *>> &MergeableInsts) {
       } else {
         for (unsigned I = 0; I < NumElts; ++I) {
           VecOp = B.CreateInsertElement(
-              VecOp, B.CreateExtractElement(
-                NewCalls[I], Idx->getValue().urem(4)), I);
+              VecOp,
+              B.CreateExtractElement(NewCalls[I], Idx->getValue().urem(4)), I);
           LLVM_DEBUG(dbgs() << "Add: " << *VecOp << "\n");
         }
       }

``````````

</details>


https://github.com/llvm/llvm-project/pull/67151


More information about the llvm-commits mailing list