summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/win-cleanuppad.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/win-cleanuppad.ll')
-rw-r--r--llvm/test/CodeGen/X86/win-cleanuppad.ll62
1 files changed, 39 insertions, 23 deletions
diff --git a/llvm/test/CodeGen/X86/win-cleanuppad.ll b/llvm/test/CodeGen/X86/win-cleanuppad.ll
index 808e322751d..a08fd976fa9 100644
--- a/llvm/test/CodeGen/X86/win-cleanuppad.ll
+++ b/llvm/test/CodeGen/X86/win-cleanuppad.ll
@@ -96,12 +96,19 @@ cleanup.outer: ; preds = %invoke.cont.1, %c
; X86: .long LBB1_[[cleanup_inner]]
; X64-LABEL: nested_cleanup:
+; X64: .Lfunc_begin1:
+; X64: .Ltmp8:
; X64: movl $1, %ecx
; X64: callq f
+; X64: .Ltmp10:
; X64: movl $2, %ecx
; X64: callq f
+; X64: .Ltmp11:
+; X64: callq "??1Dtor@@QAE@XZ"
+; X64: .Ltmp12:
; X64: movl $3, %ecx
; X64: callq f
+; X64: .Ltmp13:
; X64: .LBB1_[[cleanup_inner:[0-9]+]]: # %cleanup.inner
; X64: pushq %rbp
@@ -117,29 +124,38 @@ cleanup.outer: ; preds = %invoke.cont.1, %c
; X64: popq %rbp
; X64: retq
-; X64: .seh_handlerdata
-; X64: .long ($cppxdata$nested_cleanup)@IMGREL
-; X64: .align 4
-; X64:$cppxdata$nested_cleanup:
-; X64: .long 429065506
-; X64: .long 2
-; X64: .long ($stateUnwindMap$nested_cleanup)@IMGREL
-; X64: .long 0
-; X64: .long 0
-; X64: .long 1
-; X64: .long ($ip2state$nested_cleanup)@IMGREL
-; X64: .long 40
-; X64: .long 0
-; X64: .long 1
-; X64:$stateUnwindMap$nested_cleanup:
-; X64: .long -1
-; X64: .long .LBB1_[[cleanup_outer]]@IMGREL
-; X64: .long 0
-; X64: .long .LBB1_[[cleanup_inner]]@IMGREL
-; FIXME: The ip2state table is totally wrong.
-; X64:$ip2state$nested_cleanup:
-; X64: .long .Lfunc_begin1@IMGREL
-; X64: .long -1
+; X64: .seh_handlerdata
+; X64-NEXT: .long ($cppxdata$nested_cleanup)@IMGREL
+; X64-NEXT: .align 4
+; X64: $cppxdata$nested_cleanup:
+; X64-NEXT: .long 429065506
+; X64-NEXT: .long 2
+; X64-NEXT: .long ($stateUnwindMap$nested_cleanup)@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long 0
+; X64-NEXT: .long 5
+; X64-NEXT: .long ($ip2state$nested_cleanup)@IMGREL
+; X64-NEXT: .long 40
+; X64-NEXT: .long 0
+; X64-NEXT: .long 1
+
+; X64: $stateUnwindMap$nested_cleanup:
+; X64-NEXT: .long -1
+; X64-NEXT: .long .LBB1_[[cleanup_outer]]@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long .LBB1_[[cleanup_inner]]@IMGREL
+
+; X64: $ip2state$nested_cleanup:
+; X64-NEXT: .long .Lfunc_begin1@IMGREL
+; X64-NEXT: .long -1
+; X64-NEXT: .long .Ltmp8@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long .Ltmp10@IMGREL
+; X64-NEXT: .long 1
+; X64-NEXT: .long .Ltmp12@IMGREL
+; X64-NEXT: .long 0
+; X64-NEXT: .long .Ltmp13@IMGREL+1
+; X64-NEXT: .long -1
attributes #0 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
OpenPOWER on IntegriCloud