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 | bbfc7219ef121d345784b0c080a268beb051c736 (patch) | |
tree | df2b7b2e6f57615a58d0d86aef7fa03081649176 /llvm/test/Bitcode | |
parent | feeefb214dfa398df4cec92b1e9f3e3219d3944f (diff) | |
download | bcm5719-llvm-bbfc7219ef121d345784b0c080a268beb051c736.tar.gz bcm5719-llvm-bbfc7219ef121d345784b0c080a268beb051c736.zip |
[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
llvm-svn: 255522
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r-- | llvm/test/Bitcode/compatibility.ll | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll index e2a18ebe131..de0fc137e53 100644 --- a/llvm/test/Bitcode/compatibility.ll +++ b/llvm/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 |