diff options
Diffstat (limited to 'test/CodeGen/ARM/noreturn.ll')
| -rw-r--r-- | test/CodeGen/ARM/noreturn.ll | 122 |
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 } |
