diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-12-14 18:34:23 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-12-14 18:34:23 +0000 |
commit | 868145efb053c3f9294676cf4f36d6220e500269 (patch) | |
tree | 36ef0691fa576ed03f0013a9f2d06fb4d35f0379 /test/Bitcode/compatibility.ll | |
parent | 16cba6923a59f37985c34484a64879b7bca263bd (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.ll | 23 |
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 |