summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/win-catchpad.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/win-catchpad.ll')
-rw-r--r--llvm/test/CodeGen/X86/win-catchpad.ll53
1 files changed, 43 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/X86/win-catchpad.ll b/llvm/test/CodeGen/X86/win-catchpad.ll
index f9a5c7ca2f2..597f0e8ae80 100644
--- a/llvm/test/CodeGen/X86/win-catchpad.ll
+++ b/llvm/test/CodeGen/X86/win-catchpad.ll
@@ -119,12 +119,14 @@ catchendblock: ; preds = %catch, %catch.2, %c
; X86-NEXT: .long [[catch2bb]]
; X64-LABEL: try_catch_catch:
+; X64: Lfunc_begin0:
; X64: pushq %rbp
; X64: .seh_pushreg 5
; X64: subq $48, %rsp
; X64: .seh_stackalloc 48
; X64: leaq 48(%rsp), %rbp
; X64: .seh_setframe 5, 48
+; X64: .Ltmp0
; X64-DAG: leaq -[[local_offs:[0-9]+]](%rbp), %rdx
; X64-DAG: movl $1, %ecx
; X64: callq f
@@ -138,6 +140,7 @@ catchendblock: ; preds = %catch, %catch.2, %c
; X64: pushq %rbp
; X64: movq %rdx, %rbp
; X64: subq $32, %rsp
+; X64-DAG: .Ltmp4
; X64-DAG: leaq -[[local_offs]](%rbp), %rdx
; X64-DAG: movl [[e_addr:[-0-9]+]](%rbp), %ecx
; X64: callq f
@@ -154,20 +157,50 @@ catchendblock: ; preds = %catch, %catch.2, %c
; X64-DAG: leaq -[[local_offs]](%rbp), %rdx
; X64-DAG: movl $3, %ecx
; X64: callq f
+; X64: .Ltmp3
; X64: addq $32, %rsp
; X64-NEXT: popq %rbp
; X64-NEXT: leaq [[contbb]](%rip), %rax
; X64-NEXT: retq
+; X64: $cppxdata$try_catch_catch:
+; X64-NEXT: .long 429065506
+; X64-NEXT: .long 2
+; X64-NEXT: .long ($stateUnwindMap$try_catch_catch)@IMGREL
+; X64-NEXT: .long 1
+; X64-NEXT: .long ($tryMap$try_catch_catch)@IMGREL
+; X64-NEXT: .long 4
+; X64-NEXT: .long ($ip2state$try_catch_catch)@IMGREL
+; X64-NEXT: .long 32
+; X64-NEXT: .long 0
+; X64-NEXT: .long 1
+
+; X64: $tryMap$try_catch_catch:
+; X64-NEXT: .long 0
+; X64-NEXT: .long 0
+; X64-NEXT: .long 1
+; X64-NEXT: .long 2
+; X64-NEXT: .long ($handlerMap$0$try_catch_catch)@IMGREL
+
; X64: $handlerMap$0$try_catch_catch:
-; X64: .long 0
-; X64: .long "??_R0H@8"@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long "??_R0H@8"@IMGREL
; FIXME: This should probably be offset from rsp, not rbp.
-; X64: .long [[e_addr]]
-; X64: .long [[catch1bb]]@IMGREL
-; X64: .long 56
-; X64: .long 64
-; X64: .long 0
-; X64: .long 0
-; X64: .long [[catch2bb]]@IMGREL
-; X64: .long 56
+; X64-NEXT: .long [[e_addr]]
+; X64-NEXT: .long [[catch1bb]]@IMGREL
+; X64-NEXT: .long 56
+; X64-NEXT: .long 64
+; X64-NEXT: .long 0
+; X64-NEXT: .long 0
+; X64-NEXT: .long [[catch2bb]]@IMGREL
+; X64-NEXT: .long 56
+
+; X64: $ip2state$try_catch_catch:
+; X64-NEXT: .long .Lfunc_begin0@IMGREL
+; X64-NEXT: .long -1
+; X64-NEXT: .long .Ltmp0@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long .Ltmp4@IMGREL
+; X64-NEXT: .long 1
+; X64-NEXT: .long .Ltmp3@IMGREL+1
+; X64-NEXT: .long -1
OpenPOWER on IntegriCloud