-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: opt < %s -simplifycfg -S | \
; RUN: not grep select
;; The PHI node in this example should not be turned into a select, as we are
;; not able to ifcvt the entire block. As such, converting to a select just
;; introduces inefficiency without saving copies.
-int %bar(bool %C) {
+define i32 @bar(i1 %C) {
entry:
- br bool %C, label %then, label %endif
-
-then:
- %tmp.3 = call int %qux()
+ br i1 %C, label %then, label %endif
+then: ; preds = %entry
+ %tmp.3 = call i32 @qux( ) ; <i32> [#uses=0]
br label %endif
-
-endif:
- %R = phi int [123, %entry], [12312, %then]
- ;; stuff to disable tail duplication
- call int %qux()
- call int %qux()
- call int %qux()
- call int %qux()
- call int %qux()
- call int %qux()
- call int %qux()
- ret int %R
+endif: ; preds = %then, %entry
+ %R = phi i32 [ 123, %entry ], [ 12312, %then ] ; <i32> [#uses=1]
+ ;; stuff to disable tail duplication
+ call i32 @qux( ) ; <i32>:0 [#uses=0]
+ call i32 @qux( ) ; <i32>:1 [#uses=0]
+ call i32 @qux( ) ; <i32>:2 [#uses=0]
+ call i32 @qux( ) ; <i32>:3 [#uses=0]
+ call i32 @qux( ) ; <i32>:4 [#uses=0]
+ call i32 @qux( ) ; <i32>:5 [#uses=0]
+ call i32 @qux( ) ; <i32>:6 [#uses=0]
+ ret i32 %R
}
-declare int %qux()
-
+declare i32 @qux()