[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