|
1 |
| -; RUN: sed -e s/.Cxx:// %s | llc -mtriple=x86_64-pc-windows-msvc | FileCheck %s --check-prefix=CXX |
2 |
| -; RUN: sed -e s/.Seh:// %s | llc -mtriple=x86_64-pc-windows-msvc | FileCheck %s --check-prefix=SEH |
| 1 | +; RUN: sed -e s/.Cxx:// %s | llc -mtriple=x86_64-pc-windows-msvc | FileCheck %s --check-prefixes=CXX,X64CXX |
| 2 | +; RUN: sed -e s/.Seh:// %s | llc -mtriple=x86_64-pc-windows-msvc | FileCheck %s --check-prefixes=SEH |
| 3 | +; RUN: sed -e s/.Cxx:// %s | llc -mtriple=aarch64-pc-windows-msvc | FileCheck %s --check-prefix=CXX |
| 4 | +; RUN: sed -e s/.Seh:// %s | llc -mtriple=aarch64-pc-windows-msvc | FileCheck %s --check-prefix=SEH |
3 | 5 |
|
4 | 6 | declare i32 @__CxxFrameHandler3(...)
|
5 | 7 | declare i32 @__C_specific_handler(...)
|
@@ -44,37 +46,44 @@ catch.body.2:
|
44 | 46 |
|
45 | 47 | ; CXX-LABEL: test:
|
46 | 48 | ; CXX-LABEL: $ip2state$test:
|
47 |
| -; CXX-NEXT: .long .Lfunc_begin0@IMGREL |
48 |
| -; CXX-NEXT: .long -1 |
49 |
| -; CXX-NEXT: .long .Ltmp0@IMGREL+1 |
50 |
| -; CXX-NEXT: .long 1 |
51 |
| -; CXX-NEXT: .long .Ltmp1@IMGREL+1 |
52 |
| -; CXX-NEXT: .long -1 |
53 |
| -; CXX-NEXT: .long "?catch$3@?0?test@4HA"@IMGREL |
54 |
| -; CXX-NEXT: .long 2 |
55 |
| -; CXX-NEXT: .long .Ltmp2@IMGREL+1 |
56 |
| -; CXX-NEXT: .long 3 |
57 |
| -; CXX-NEXT: .long .Ltmp3@IMGREL+1 |
58 |
| -; CXX-NEXT: .long 2 |
59 |
| -; CXX-NEXT: .long "?catch$5@?0?test@4HA"@IMGREL |
60 |
| -; CXX-NEXT: .long 4 |
| 49 | +; CXX-NEXT: .[[ENTRY:long|word]] .Lfunc_begin0@IMGREL |
| 50 | +; CXX-NEXT: .[[ENTRY]] -1 |
| 51 | +; CXX-NEXT: .[[ENTRY]] .Ltmp0@IMGREL |
| 52 | +; X64CXX-SAME: +1 |
| 53 | +; CXX-NEXT: .[[ENTRY]] 1 |
| 54 | +; CXX-NEXT: .[[ENTRY]] .Ltmp1@IMGREL |
| 55 | +; X64CXX-SAME: +1 |
| 56 | +; CXX-NEXT: .[[ENTRY]] -1 |
| 57 | +; CXX-NEXT: .[[ENTRY]] "?catch$3@?0?test@4HA"@IMGREL |
| 58 | +; CXX-NEXT: .[[ENTRY]] 2 |
| 59 | +; CXX-NEXT: .[[ENTRY]] .Ltmp2@IMGREL |
| 60 | +; X64CXX-SAME: +1 |
| 61 | +; CXX-NEXT: .[[ENTRY]] 3 |
| 62 | +; CXX-NEXT: .[[ENTRY]] .Ltmp3@IMGREL |
| 63 | +; X64CXX-SAME: +1 |
| 64 | +; CXX-NEXT: .[[ENTRY]] 2 |
| 65 | +; CXX-NEXT: .[[ENTRY]] "?catch$5@?0?test@4HA"@IMGREL |
| 66 | +; CXX-NEXT: .[[ENTRY]] 4 |
61 | 67 |
|
62 | 68 | ; SEH-LABEL: test:
|
| 69 | +; SEH: .LBB0_[[CATCH2:[0-9]+]]: {{.*}} %catch.body.2 |
| 70 | +; SEH: .LBB0_[[CATCH:[0-9]+]]: {{.*}} %catch.body |
63 | 71 | ; SEH-LABEL: .Llsda_begin0:
|
64 |
| -; SEH-NEXT: .long .Ltmp0@IMGREL |
65 |
| -; SEH-NEXT: .long .Ltmp1@IMGREL+1 |
66 |
| -; SEH-NEXT: .long dummy_filter@IMGREL |
67 |
| -; SEH-NEXT: .long .LBB0_3@IMGREL |
68 |
| -; SEH-NEXT: .long .Ltmp0@IMGREL |
69 |
| -; SEH-NEXT: .long .Ltmp1@IMGREL+1 |
70 |
| -; SEH-NEXT: .long dummy_filter@IMGREL |
71 |
| -; SEH-NEXT: .long .LBB0_5@IMGREL |
72 |
| -; SEH-NEXT: .long .Ltmp2@IMGREL |
73 |
| -; SEH-NEXT: .long .Ltmp3@IMGREL+1 |
74 |
| -; SEH-NEXT: .long "?dtor$2@?0?test@4HA"@IMGREL |
75 |
| -; SEH-NEXT: .long 0 |
76 |
| -; SEH-NEXT: .long .Ltmp2@IMGREL |
77 |
| -; SEH-NEXT: .long .Ltmp3@IMGREL+1 |
78 |
| -; SEH-NEXT: .long dummy_filter@IMGREL |
79 |
| -; SEH-NEXT: .long .LBB0_5@IMGREL |
| 72 | +; SEH-NEXT: .[[ENTRY:long|word]] .Ltmp0@IMGREL |
| 73 | +; SEH-NEXT: .[[ENTRY]] .Ltmp1@IMGREL+1 |
| 74 | +; SEH-NEXT: .[[ENTRY]] dummy_filter@IMGREL |
| 75 | +; SEH-NEXT: .[[ENTRY]] .LBB0_[[CATCH]]@IMGREL |
| 76 | +; SEH-NEXT: .[[ENTRY]] .Ltmp0@IMGREL |
| 77 | +; SEH-NEXT: .[[ENTRY]] .Ltmp1@IMGREL+1 |
| 78 | +; SEH-NEXT: .[[ENTRY]] dummy_filter@IMGREL |
| 79 | +; SEH-NEXT: .[[ENTRY]] .LBB0_[[CATCH2]]@IMGREL |
| 80 | +; SEH-NEXT: .[[ENTRY]] .Ltmp2@IMGREL |
| 81 | +; SEH-NEXT: .[[ENTRY]] .Ltmp3@IMGREL+1 |
| 82 | +; SEH-NEXT: .[[ENTRY]] "?dtor$[[DTOR:[0-9]+]]@?0?test@4HA"@IMGREL |
| 83 | +; SEH-NEXT: .[[ENTRY]] 0 |
| 84 | +; SEH-NEXT: .[[ENTRY]] .Ltmp2@IMGREL |
| 85 | +; SEH-NEXT: .[[ENTRY]] .Ltmp3@IMGREL+1 |
| 86 | +; SEH-NEXT: .[[ENTRY]] dummy_filter@IMGREL |
| 87 | +; SEH-NEXT: .[[ENTRY]] .LBB0_[[CATCH2]]@IMGREL |
80 | 88 | ; SEH-NEXT: .Llsda_end0:
|
| 89 | +; SEH: "?dtor$[[DTOR]]@?0?test@4HA" |
0 commit comments