summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopSimplify/single-backedge.ll
blob: be3d182fcc9ba0eeda8d7c670d5771fa2fd0dadf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; The loop canonicalization pass should guarantee that there is one backedge 
; for all loops.  This allows the -indvars pass to recognize the %IV 
; induction variable in this testcase.

; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar

int %test(bool %C) {
	br label %Loop
Loop:
	%IV = phi uint [1, %0], [%IV2, %BE1], [%IV2, %BE2]
	%IV2 = add uint %IV, 2
	br bool %C, label %BE1, label %BE2
BE1:
	br label %Loop
BE2:
	br label %Loop
}