[llvm] 21704a6 - [AMDGPU] Fix printing hasInitWholeWave in mir (#123232)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 17 03:00:06 PST 2025
Author: Stanislav Mekhanoshin
Date: 2025-01-17T03:00:02-08:00
New Revision: 21704a685de5f241acddf462e5f9b38d132cfcaa
URL: https://github.com/llvm/llvm-project/commit/21704a685de5f241acddf462e5f9b38d132cfcaa
DIFF: https://github.com/llvm/llvm-project/commit/21704a685de5f241acddf462e5f9b38d132cfcaa.diff
LOG: [AMDGPU] Fix printing hasInitWholeWave in mir (#123232)
Added:
llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
Modified:
llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
index 169f1369fb5433..7de64bddf78846 100644
--- a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
@@ -715,7 +715,7 @@ yaml::SIMachineFunctionInfo::SIMachineFunctionInfo(
ArgInfo(convertArgumentInfo(MFI.getArgInfo(), TRI)),
PSInputAddr(MFI.getPSInputAddr()), PSInputEnable(MFI.getPSInputEnable()),
MaxMemoryClusterDWords(MFI.getMaxMemoryClusterDWords()),
- Mode(MFI.getMode()) {
+ Mode(MFI.getMode()), HasInitWholeWave(MFI.hasInitWholeWave()) {
for (Register Reg : MFI.getSGPRSpillPhysVGPRs())
SpillPhysVGPRS.push_back(regToString(Reg, TRI));
diff --git a/llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll b/llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
new file mode 100644
index 00000000000000..f3b8deff619181
--- /dev/null
+++ b/llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
@@ -0,0 +1,17 @@
+; RUN: llc -global-isel=0 -march=amdgcn -mcpu=gfx1100 -stop-after=finalize-isel < %s | FileCheck --check-prefix=GCN %s
+; RUN: llc -global-isel=1 -march=amdgcn -mcpu=gfx1100 -stop-after=finalize-isel < %s | FileCheck --check-prefix=GCN %s
+
+; GCN-LABEL: name: init_wwm
+; GCN: hasInitWholeWave: true
+define void @init_wwm(ptr addrspace(1) inreg %p) {
+entry:
+ %entry_exec = call i1 @llvm.amdgcn.init.whole.wave()
+ br i1 %entry_exec, label %bb.1, label %bb.2
+
+bb.1:
+ store i32 1, ptr addrspace(1) %p
+ br label %bb.2
+
+bb.2:
+ ret void
+}
More information about the llvm-commits
mailing list