[Alignment][NFC] Migrate Instructions to Align
[llvm-core.git] / test / Analysis / RegionInfo / bad_node_traversal.ll
blob00dd1207af9f028c94a0078410b40453052d5985
1 ; REQUIRES: asserts
2 ; RUN: opt -regions -analyze < %s | FileCheck %s
4 ; While working on improvements to the region info analysis, this test
5 ; case caused an incorrect region 3 => 8 to be detected.
7 define internal i8 @wibble() {
8 bb:
9   br i1 true, label %bb1, label %bb8
11 bb1:                                              ; preds = %bb
12   switch i32 0, label %bb2 [
13     i32 0, label %bb3
14     i32 1, label %bb7
15   ]
17 bb2:                                              ; preds = %bb1
18   br label %bb4
20 bb3:                                              ; preds = %bb1
21   br label %bb5
23 bb4:                                              ; preds = %bb2
24   br label %bb6
26 bb5:                                              ; preds = %bb3
27   br label %bb6
29 bb6:                                              ; preds = %bb5, %bb4
30   br label %bb7
32 bb7:                                              ; preds = %bb6, %bb1
33   br label %bb8
35 bb8:                                              ; preds = %bb7, %bb
36   ret i8 1
39 ; CHECK:      [0] bb => <Function Return>
40 ; CHECK-NEXT:   [1] bb => bb8
41 ; CHECK-NEXT:     [2] bb1 => bb7
42 ; CHECK-NEXT: End region tree