forked from OSchip/llvm-project
29 lines
910 B
LLVM
29 lines
910 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt -passes="cgscc(function(sccp,simplifycfg))" < %s -S | FileCheck %s
|
|
|
|
define i32 @baz(i32 %y, i1 %b) {
|
|
; CHECK-LABEL: @baz(
|
|
; CHECK-NEXT: entry:
|
|
; CHECK-NEXT: br i1 [[B:%.*]], label [[LAB:%.*]], label [[FOR_COND:%.*]]
|
|
; CHECK: for.cond:
|
|
; CHECK-NEXT: [[P_0:%.*]] = phi i8* [ null, [[FOR_COND]] ], [ blockaddress(@baz, [[LAB]]), [[ENTRY:%.*]] ]
|
|
; CHECK-NEXT: [[INCDEC_PTR:%.*]] = getelementptr inbounds i8, i8* [[P_0]], i64 1
|
|
; CHECK-NEXT: br label [[FOR_COND]]
|
|
; CHECK: lab:
|
|
; CHECK-NEXT: ret i32 0
|
|
;
|
|
entry:
|
|
br i1 %b, label %lab, label %for.cond.preheader
|
|
|
|
for.cond.preheader:
|
|
br label %for.cond
|
|
|
|
for.cond:
|
|
%p.0 = phi i8* [ null, %for.cond ], [ blockaddress(@baz, %lab), %for.cond.preheader ]
|
|
%incdec.ptr = getelementptr inbounds i8, i8* %p.0, i64 1
|
|
br label %for.cond
|
|
|
|
lab:
|
|
ret i32 0
|
|
}
|