[llvm] [SEH] Fix register liveness verification for EHa (PR #76933)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 4 04:13:26 PST 2024
================
@@ -0,0 +1,65 @@
+; RUN: llc --verify-machineinstrs < %s
+source_filename = "test.cpp"
+target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-pc-windows-msvc19.12.0"
+
+$"?test at Test@@Plugin@@Host@@@Z" = comdat any
+
+declare i32 @__CxxFrameHandler3(...)
+
+; Function Attrs: nounwind memory(none)
+declare void @llvm.seh.scope.begin() #1
+
+; Function Attrs: nobuiltin allocsize(0)
+declare ptr @"??2 at Test@Z"(i64) #1
+
+; Function Attrs: nounwind memory(none)
+declare void @llvm.seh.scope.end() #0
+
+; Function Attrs: nobuiltin nounwind
+declare void @"??3 at YAXPEAX@Z"(ptr) #2
+
+; Function Attrs: mustprogress uwtable
+define ptr @"?test at Test@@Plugin@@Host@@@Z"(ptr %this, ptr %host) #3 comdat align 2 personality ptr @__CxxFrameHandler3 {
+entry:
+ %host.addr = alloca ptr, align 8
+ %this.addr = alloca ptr, align 8
+ store ptr %host, ptr %host.addr, align 8
+ store ptr %this, ptr %this.addr, align 8
+ %this1 = load ptr, ptr %this.addr, align 8
+ %call = call noalias ptr @"??2 at Test@Z"(i64 152) #5
----------------
phoebewang wrote:
The function call is not in the seh scope. Why the verifier reported error for it?
https://github.com/llvm/llvm-project/pull/76933
More information about the llvm-commits
mailing list