[llvm] Revert "[AMDGPU] Add verification for amdgcn.init.exec.from.input" (PR #128433)

via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 23 12:25:17 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-ir

Author: Robert Imschweiler (ro-i)

<details>
<summary>Changes</summary>

Reverts llvm/llvm-project#<!-- -->128172

---
Full diff: https://github.com/llvm/llvm-project/pull/128433.diff


2 Files Affected:

- (modified) llvm/lib/IR/Verifier.cpp (-8) 
- (removed) llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll (-25) 


``````````diff
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index 310a6735d55d6..58fd575e6e7e8 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -6371,14 +6371,6 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
           "llvm.amdgcn.cs.chain must be followed by unreachable", &Call);
     break;
   }
-  case Intrinsic::amdgcn_init_exec_from_input: {
-    const Argument *Arg = dyn_cast<Argument>(Call.getOperand(0));
-    Check(Arg && Arg->hasInRegAttr(),
-          "only inreg arguments to the parent function are valid as inputs to "
-          "this intrinsic",
-          &Call);
-    break;
-  }
   case Intrinsic::amdgcn_set_inactive_chain_arg: {
     auto CallerCC = Call.getCaller()->getCallingConv();
     switch (CallerCC) {
diff --git a/llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll b/llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll
deleted file mode 100644
index 11426041924e4..0000000000000
--- a/llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll
+++ /dev/null
@@ -1,25 +0,0 @@
-; RUN: not llvm-as -disable-output 2>&1 %s | FileCheck %s
-
-declare void @llvm.amdgcn.init.exec.from.input(i32, i32 immarg)
-
-; CHECK: only inreg arguments to the parent function are valid as inputs to this intrinsic
-; CHECK-NEXT: call void @llvm.amdgcn.init.exec.from.input(i32 0, i32 0)
-define void @init_exec_from_input_fail_constant() {
-  call void @llvm.amdgcn.init.exec.from.input(i32 0, i32 0)
-  ret void
-}
-
-; CHECK: only inreg arguments to the parent function are valid as inputs to this intrinsic
-; CHECK-NEXT: call void @llvm.amdgcn.init.exec.from.input(i32 %b, i32 0)
-define void @init_exec_from_input_fail_not_inreg(i32 inreg %a, i32 %b) {
-  call void @llvm.amdgcn.init.exec.from.input(i32 %b, i32 0)
-  ret void
-}
-
-; CHECK: only inreg arguments to the parent function are valid as inputs to this intrinsic
-; CHECK-NEXT: call void @llvm.amdgcn.init.exec.from.input(i32 %c, i32 0)
-define void @init_exec_from_input_fail_instruction(i32 inreg %a, i32 %b) {
-  %c = add i32 %a, %b
-  call void @llvm.amdgcn.init.exec.from.input(i32 %c, i32 0)
-  ret void
-}

``````````

</details>


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


More information about the llvm-commits mailing list