67 lines · plain
1; XFAIL: *2; RUN: llc --verify-machineinstrs < %s3source_filename = "test.cpp"4target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"5target triple = "x86_64-pc-windows-msvc19.12.0"6 7$"?test@Test@@Plugin@@Host@@@Z" = comdat any8 9declare i32 @__CxxFrameHandler3(...)10 11; Function Attrs: nounwind memory(none)12declare void @llvm.seh.scope.begin() #113 14; Function Attrs: nobuiltin allocsize(0)15declare ptr @"??2@Test@Z"(i64) #116 17; Function Attrs: nounwind memory(none)18declare void @llvm.seh.scope.end() #019 20; Function Attrs: nobuiltin nounwind21declare void @"??3@YAXPEAX@Z"(ptr) #222 23; Function Attrs: mustprogress uwtable24define ptr @"?test@Test@@Plugin@@Host@@@Z"(ptr %this, ptr %host) #3 comdat align 2 personality ptr @__CxxFrameHandler3 {25entry:26 %host.addr = alloca ptr, align 827 %this.addr = alloca ptr, align 828 store ptr %host, ptr %host.addr, align 829 store ptr %this, ptr %this.addr, align 830 %this1 = load ptr, ptr %this.addr, align 831 %call = call noalias ptr @"??2@Test@Z"(i64 152) #532 invoke void @llvm.seh.scope.begin()33 to label %invoke.cont unwind label %ehcleanup34 35invoke.cont: ; preds = %entry36 %call3 = invoke ptr @"??Test@?A0x2749C4FD@@QEAA@Test@Test@@@Z"(ptr %call, ptr %this1)37 to label %invoke.cont2 unwind label %ehcleanup38 39invoke.cont2: ; preds = %invoke.cont40 invoke void @llvm.seh.scope.end()41 to label %invoke.cont4 unwind label %ehcleanup42 43invoke.cont4: ; preds = %invoke.cont244 ret ptr %call45 46ehcleanup: ; preds = %invoke.cont2, %invoke.cont, %entry47 %0 = cleanuppad within none []48 call void @"??3@YAXPEAX@Z"(ptr %call) #6 [ "funclet"(token %0) ]49 cleanupret from %0 unwind to caller50}51 52; Function Attrs: uwtable53declare hidden ptr @"??Test@?A0x2749C4FD@@QEAA@Test@Test@@@Z"(ptr, ptr) #4 align 254 55attributes #0 = { nounwind memory(none) }56attributes #1 = { nobuiltin allocsize(0) "target-cpu"="x86-64" "target-features"="+cmov,+crc32,+cx8,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" }57attributes #2 = { nobuiltin nounwind "target-cpu"="x86-64" "target-features"="+cmov,+crc32,+cx8,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" }58attributes #3 = { mustprogress uwtable "target-cpu"="x86-64" "target-features"="+cmov,+crc32,+cx8,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" }59attributes #4 = { uwtable "target-cpu"="x86-64" "target-features"="+cmov,+crc32,+cx8,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" }60attributes #5 = { builtin allocsize(0) }61attributes #6 = { builtin nounwind }62 63!llvm.module.flags = !{!1, !2}64 65!1 = !{i32 2, !"eh-asynch", i32 1}66!2 = !{i32 7, !"uwtable", i32 2}67