The sections that the ELF object writer has to create are very simple and
[llvm.git] / test / Integer / cfgstructures_bt.ll
blob09aec1fed219576adb32a896fadf26a3b58b7bf2
1 ; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
6 ;; This is an irreducible flow graph
9 define void @"irreducible"(i1 %cond)
10 begin
11         br i1 %cond, label %X, label %Y
14         br label %Y
16         br label %X
17 end
19 ;; This is a pair of loops that share the same header
21 define void @"sharedheader"(i1 %cond)
22 begin
23         br label %A
25         br i1 %cond, label %X, label %Y
28         br label %A
30         br label %A
31 end
33 ;; This is a simple nested loop
34 define void @"nested"(i1 %cond1, i1 %cond2, i1 %cond3)
35 begin
36         br label %Loop1
38 Loop1:
39         br label %Loop2
41 Loop2:
42         br label %Loop3
44 Loop3:
45         br i1 %cond3, label %Loop3, label %L3Exit
47 L3Exit:
48         br i1 %cond2, label %Loop2, label %L2Exit
50 L2Exit:
51         br i1 %cond1, label %Loop1, label %L1Exit
53 L1Exit:
54         ret void
55 end