-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | not grep 'load int\* null'
+; RUN: opt < %s -argpromotion -S | \
+; RUN: not grep {load i32\* null}
-implementation
+define internal i32 @callee(i1 %C, i32* %P) {
+ br i1 %C, label %T, label %F
-internal int %callee(bool %C, int* %P) {
- br bool %C, label %T, label %F
-T:
- ret int 17
-F:
- %X = load int* %P
- ret int %X
+T: ; preds = %0
+ ret i32 17
+
+F: ; preds = %0
+ %X = load i32* %P ; <i32> [#uses=1]
+ ret i32 %X
}
-int %foo() {
- %X = call int %callee(bool true, int* null)
- ret int %X
+define i32 @foo() {
+ %X = call i32 @callee( i1 true, i32* null ) ; <i32> [#uses=1]
+ ret i32 %X
}