aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/noreturn.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/ARM/noreturn.ll')
-rw-r--r--test/CodeGen/ARM/noreturn.ll122
1 files changed, 0 insertions, 122 deletions
diff --git a/test/CodeGen/ARM/noreturn.ll b/test/CodeGen/ARM/noreturn.ll
deleted file mode 100644
index f242afb9953e..000000000000
--- a/test/CodeGen/ARM/noreturn.ll
+++ /dev/null
@@ -1,122 +0,0 @@
-; RUN: llc -O3 -o - %s | FileCheck %s
-; Test case from PR16882.
-target triple = "thumbv7a-none-eabi"
-
-define i32 @test1() {
-; CHECK-LABEL: @test1
-; CHECK-NOT: push
-entry:
- tail call void @overflow() #0
- unreachable
-}
-
-; Function Attrs: noreturn nounwind
-declare void @overflow() #0
-
-define i32 @test2(i32 %x, i32 %y) {
-; CHECK-LABEL: @test2
-; CHECK-NOT: push
-; CHECK-NOT: pop
-entry:
- %conv = sext i32 %x to i64
- %conv1 = sext i32 %y to i64
- %mul = mul nsw i64 %conv1, %conv
- %conv2 = trunc i64 %mul to i32
- %conv3 = sext i32 %conv2 to i64
- %cmp = icmp eq i64 %mul, %conv3
- br i1 %cmp, label %if.end, label %if.then
-
-if.then: ; preds = %entry
- tail call void @overflow() #0
- unreachable
-
-if.end: ; preds = %entry
- ret i32 %conv2
-}
-
-; Test case for PR17825.
-define i32 @test3() {
-; CHECK-LABEL: @test3
-; CHECK: push
-entry:
- tail call void @overflow_with_unwind() #1
- unreachable
-}
-
-; Test case for uwtable
-define i32 @test4() uwtable {
-; CHECK-LABEL: @test4
-; CHECK: push
-entry:
- tail call void @overflow() #0
- unreachable
-}
-
-define i32 @test5() uwtable {
-; CHECK-LABEL: @test5
-; CHECK: push
-entry:
- tail call void @overflow_with_unwind() #1
- unreachable
-}
-
-
-define i32 @test1_nofpelim() "no-frame-pointer-elim"="true" {
-; CHECK-LABEL: @test1_nofpelim
-; CHECK: push
-entry:
- tail call void @overflow() #0
- unreachable
-}
-
-define i32 @test2_nofpelim(i32 %x, i32 %y) "no-frame-pointer-elim"="true" {
-; CHECK-LABEL: @test2_nofpelim
-; CHECK: push
-entry:
- %conv = sext i32 %x to i64
- %conv1 = sext i32 %y to i64
- %mul = mul nsw i64 %conv1, %conv
- %conv2 = trunc i64 %mul to i32
- %conv3 = sext i32 %conv2 to i64
- %cmp = icmp eq i64 %mul, %conv3
- br i1 %cmp, label %if.end, label %if.then
-
-if.then: ; preds = %entry
- tail call void @overflow() #0
- unreachable
-
-if.end: ; preds = %entry
- ret i32 %conv2
-}
-
-; Test case for PR17825.
-define i32 @test3_nofpelim() "no-frame-pointer-elim"="true" {
-; CHECK-LABEL: @test3_nofpelim
-; CHECK: push
-entry:
- tail call void @overflow_with_unwind() #1
- unreachable
-}
-
-; Test case for uwtable
-define i32 @test4_nofpelim() uwtable "no-frame-pointer-elim"="true" {
-; CHECK-LABEL: @test4_nofpelim
-; CHECK: push
-entry:
- tail call void @overflow() #0
- unreachable
-}
-
-define i32 @test5_nofpelim() uwtable "no-frame-pointer-elim"="true" {
-; CHECK-LABEL: @test5_nofpelim
-; CHECK: push
-entry:
- tail call void @overflow_with_unwind() #1
- unreachable
-}
-
-; Function Attrs: noreturn
-declare void @overflow_with_unwind() #1
-
-attributes #0 = { noreturn nounwind }
-attributes #1 = { noreturn }