1 ; RUN: llc -O3 -o - %s | FileCheck %s
2 ; Test case from PR16882.
3 target triple = "thumbv7s-apple-ios"
9 tail call void @overflow() #0
13 ; Function Attrs: noreturn nounwind
14 declare void @overflow() #0
16 define i32 @test2(i32 %x, i32 %y) {
21 %conv = sext i32 %x to i64
22 %conv1 = sext i32 %y to i64
23 %mul = mul nsw i64 %conv1, %conv
24 %conv2 = trunc i64 %mul to i32
25 %conv3 = sext i32 %conv2 to i64
26 %cmp = icmp eq i64 %mul, %conv3
27 br i1 %cmp, label %if.end, label %if.then
29 if.then: ; preds = %entry
30 tail call void @overflow() #0
33 if.end: ; preds = %entry
37 ; Test case for PR17825.
42 tail call void @overflow_with_unwind() #1
46 ; Test case for uwtable
47 define i32 @test4() uwtable {
51 tail call void @overflow() #0
55 define i32 @test5() uwtable {
59 tail call void @overflow_with_unwind() #1
63 ; Function Attrs: noreturn
64 declare void @overflow_with_unwind() #1
66 attributes #0 = { noreturn nounwind }
67 attributes #1 = { noreturn }