summaryrefslogtreecommitdiff
path: root/test/CodeGen/Generic/badCallArgLRLLVM.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/Generic/badCallArgLRLLVM.ll')
-rw-r--r--test/CodeGen/Generic/badCallArgLRLLVM.ll29
1 files changed, 14 insertions, 15 deletions
diff --git a/test/CodeGen/Generic/badCallArgLRLLVM.ll b/test/CodeGen/Generic/badCallArgLRLLVM.ll
index 734d2b270b..56384748ac 100644
--- a/test/CodeGen/Generic/badCallArgLRLLVM.ll
+++ b/test/CodeGen/Generic/badCallArgLRLLVM.ll
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc
+; RUN: llvm-as < %s | llc
; This caused a problem because the argument of a call was defined by
; the return value of another call that appears later in the code.
@@ -8,25 +8,24 @@
; llc dies in UltraSparcRegInfo::suggestRegs4CallArgs() with:
; ERROR: In call instr, no LR for arg: 0x1009e0740
;
-implementation ; Functions:
-declare int %getInt(int)
+declare i32 @getInt(i32)
-int %main(int %argc, sbyte** %argv) {
-bb0: ;[#uses=0]
+define i32 @main(i32 %argc, i8** %argv) {
+bb0:
br label %bb2
-bb1:
- %reg222 = call int (int)* %getInt(int %reg218) ;; ARG #1 HAS NO LR
- %reg110 = add int %reg222, 1
- %b = setle int %reg110, 0
- br bool %b, label %bb2, label %bb3
+bb1: ; preds = %bb2
+ %reg222 = call i32 @getInt( i32 %reg218 ) ; <i32> [#uses=1]
+ %reg110 = add i32 %reg222, 1 ; <i32> [#uses=2]
+ %b = icmp sle i32 %reg110, 0 ; <i1> [#uses=1]
+ br i1 %b, label %bb2, label %bb3
-bb2:
- %reg218 = call int (int)* %getInt(int %argc) ;; THIS CALL NOT YET SEEN
- br label %bb1
+bb2: ; preds = %bb1, %bb0
+ %reg218 = call i32 @getInt( i32 %argc ) ; <i32> [#uses=1]
+ br label %bb1
-bb3:
- ret int %reg110
+bb3: ; preds = %bb1
+ ret i32 %reg110
}