summaryrefslogtreecommitdiff
path: root/test/Bitcode/compatibility.ll
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-12-14 18:34:23 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-12-14 18:34:23 +0000
commit868145efb053c3f9294676cf4f36d6220e500269 (patch)
tree36ef0691fa576ed03f0013a9f2d06fb4d35f0379 /test/Bitcode/compatibility.ll
parent16cba6923a59f37985c34484a64879b7bca263bd (diff)
[IR] Remove terminatepad
It turns out that terminatepad gives little benefit over a cleanuppad which calls the termination function. This is not sufficient to implement fully generic filters but MSVC doesn't support them which makes terminatepad a little over-designed. Depends on D15478. Differential Revision: http://reviews.llvm.org/D15479 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255522 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Bitcode/compatibility.ll')
-rw-r--r--test/Bitcode/compatibility.ll23
1 files changed, 7 insertions, 16 deletions
diff --git a/test/Bitcode/compatibility.ll b/test/Bitcode/compatibility.ll
index e2a18ebe131..de0fc137e53 100644
--- a/test/Bitcode/compatibility.ll
+++ b/test/Bitcode/compatibility.ll
@@ -774,7 +774,7 @@ entry:
invoke void @f.ccc() to label %normal unwind label %catchswitch3
catchswitch1:
- %cs1 = catchswitch within none [label %catchpad1] unwind label %terminate.1
+ %cs1 = catchswitch within none [label %catchpad1] unwind to caller
catchpad1:
catchpad within %cs1 []
@@ -802,20 +802,9 @@ catchpad3:
cleanuppad1:
%clean.1 = cleanuppad within none []
+ unreachable
; CHECK: %clean.1 = cleanuppad within none []
- invoke void @f.ccc() to label %normal unwind label %terminate.2
-
-terminate.1:
- terminatepad within none [] unwind to caller
- ; CHECK: terminatepad within none [] unwind to caller
-
-terminate.2:
- terminatepad within %clean.1 [i32* %arg1] unwind label %normal.pre
- ; CHECK: terminatepad within %clean.1 [i32* %arg1] unwind label %normal.pre
-
-normal.pre:
- terminatepad within %clean.1 [i32* %arg1, i32* %arg2] unwind to caller
- ; CHECK: terminatepad within %clean.1 [i32* %arg1, i32* %arg2] unwind to caller
+ ; CHECK-NEXT: unreachable
normal:
ret i32 0
@@ -852,8 +841,10 @@ return:
ret i32 0
terminate:
- terminatepad within %cs [] unwind to caller
- ; CHECK: terminatepad within %cs [] unwind to caller
+ cleanuppad within %cs []
+ unreachable
+ ; CHECK: cleanuppad within %cs []
+ ; CHECK-NEXT: unreachable
continue:
ret i32 0