xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/pr3522.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; REQUIRES: asserts
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86 -stats 2>&1 | not grep "instructions sunk"
3*9880d681SAndroid Build Coastguard Worker; PR3522
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workertarget triple = "i386-pc-linux-gnu"
6*9880d681SAndroid Build Coastguard Worker@.str = external constant [13 x i8]		; <[13 x i8]*> [#uses=1]
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine void @_ada_c34018a() personality i32 (...)* @__gxx_personality_v0 {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker	%0 = tail call i32 @report__ident_int(i32 90)		; <i32> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker	%1 = trunc i32 %0 to i8		; <i8> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker	invoke void @__gnat_rcheck_12(i8* getelementptr ([13 x i8], [13 x i8]* @.str, i32 0, i32 0), i32 32) noreturn
13*9880d681SAndroid Build Coastguard Worker			to label %invcont unwind label %lpad
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerinvcont:		; preds = %entry
16*9880d681SAndroid Build Coastguard Worker	unreachable
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerbb22:		; preds = %lpad
19*9880d681SAndroid Build Coastguard Worker	ret void
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerreturn:		; preds = %lpad
22*9880d681SAndroid Build Coastguard Worker	ret void
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workerlpad:		; preds = %entry
25*9880d681SAndroid Build Coastguard Worker        %exn = landingpad {i8*, i32}
26*9880d681SAndroid Build Coastguard Worker                 cleanup
27*9880d681SAndroid Build Coastguard Worker	%2 = icmp eq i8 %1, 90		; <i1> [#uses=1]
28*9880d681SAndroid Build Coastguard Worker	br i1 %2, label %return, label %bb22
29*9880d681SAndroid Build Coastguard Worker}
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerdeclare void @__gnat_rcheck_12(i8*, i32) noreturn
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerdeclare i32 @report__ident_int(i32)
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...)
36