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 }