brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · f905abd Raw
54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals2; RUN: opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal  -attributor-annotate-decl-cs  -S < %s | FileCheck %s --check-prefixes=CHECK,TUNIT3; RUN: opt -aa-pipeline=basic-aa -passes=attributor-cgscc -attributor-manifest-internal  -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,CGSCC4target triple = "x86_64-pc-windows-msvc"5 6define internal void @callee(ptr) {7; CHECK: Function Attrs: memory(readwrite, argmem: none)8; CHECK-LABEL: define {{[^@]+}}@callee9; CHECK-SAME: () #[[ATTR0:[0-9]+]] {10; CHECK-NEXT:  entry:11; CHECK-NEXT:    call void @thunk()12; CHECK-NEXT:    ret void13;14entry:15  call void @thunk()16  ret void17}18 19define void @test1() personality ptr @__CxxFrameHandler3 {20; CHECK-LABEL: define {{[^@]+}}@test1() personality ptr @__CxxFrameHandler3 {21; CHECK-NEXT:  entry:22; CHECK-NEXT:    invoke void @thunk()23; CHECK-NEXT:            to label [[OUT:%.*]] unwind label [[CPAD:%.*]]24; CHECK:       out:25; CHECK-NEXT:    ret void26; CHECK:       cpad:27; CHECK-NEXT:    [[PAD:%.*]] = cleanuppad within none []28; CHECK-NEXT:    call void @callee() [ "funclet"(token [[PAD]]) ]29; CHECK-NEXT:    cleanupret from [[PAD]] unwind to caller30;31entry:32  invoke void @thunk()33  to label %out unwind label %cpad34 35out:36  ret void37 38cpad:39  %pad = cleanuppad within none []40  call void @callee(ptr null) [ "funclet"(token %pad) ]41  cleanupret from %pad unwind to caller42}43 44 45declare void @thunk()46 47declare i32 @__CxxFrameHandler3(...)48;.49; CHECK: attributes #[[ATTR0]] = { memory(readwrite, argmem: none) }50;.51;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:52; CGSCC: {{.*}}53; TUNIT: {{.*}}54