Added links to the C and C++ frontends.
[oota-llvm.git] / test / LLC / badCallArgLR.llvm.ll
1 ; This caused a problem because the argument of a call was defined by
2 ; the return value of another call that appears later in the code.
3 ; When processing the first call, the second call has not yet been processed
4 ; so no LiveRange has been created for its return value.
5
6 ; llc dies in UltraSparcRegInfo::suggestRegs4CallArgs() with:
7 ;     ERROR: In call instr, no LR for arg: 0x1009e0740 
8 ;
9 implementation   ; Functions:
10
11 declare int %getInt(int);
12
13 int %main(int %argc, sbyte** %argv) {
14 bb0:                                    ;[#uses=0]
15         br label %bb2
16
17 bb1:
18         %reg222 = call int (int)* %getInt(int %reg218) ;; ARG #1 HAS NO LR
19         %reg110 = add int %reg222, 1
20         %b = setle int %reg110, 0
21         br bool %b, label %bb2, label %bb3
22
23 bb2:
24         %reg218 = call int (int)* %getInt(int %argc)   ;; THIS CALL NOT YET SEEN
25         br label %bb1
26
27 bb3:
28         ret int %reg110
29 }
30