blob: 0a29e6de18ae624c33b418e8b458089d2401b98d [file] [log] [blame]
Vikram S. Adve0188ce42002-09-28 16:51:47 +00001; 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;
9implementation ; Functions:
10
11declare int %getInt(int);
12
13int %main(int %argc, sbyte** %argv) {
14bb0: ;[#uses=0]
15 br label %bb2
16
17bb1:
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
23bb2:
24 %reg218 = call int (int)* %getInt(int %argc) ;; THIS CALL NOT YET SEEN
25 br label %bb1
26
27bb3:
28 ret int %reg110
29}
30