Index: test/Analysis/RegionInfo/outgoing_edge.ll =================================================================== --- test/Analysis/RegionInfo/outgoing_edge.ll +++ test/Analysis/RegionInfo/outgoing_edge.ll @@ -1,5 +1,6 @@ ; REQUIRES: asserts ; RUN: opt -regions -analyze < %s | FileCheck %s +; RUN: opt < %s -passes='print' 2>&1 | FileCheck %s ; While working on improvements to the region info analysis, this test ; case caused an incorrect region 1 => 2 to be detected. It is incorrect @@ -8,21 +9,25 @@ ; forward edges into the region and outgoing forward edges from the region. define void @meread_() nounwind { -entry: - br label %"0" +bb: + br label %bb1 -"0": ; preds = %"3", %entry - br label %"1" +bb1: ; preds = %bb4, %bb + br label %bb2 -"1": ; preds = %"0" - br i1 true, label %"2", label %"3" +bb2: ; preds = %bb1 + br i1 true, label %bb3, label %bb4 -"2": ; preds = %"1" - br i1 true, label %"3", label %end +bb3: ; preds = %bb2 + br i1 true, label %bb4, label %bb5 -"3": ; preds = %"2", %"1" - br label %"0" +bb4: ; preds = %bb3, %bb2 + br label %bb1 -end: ; preds = %"2" +bb5: ; preds = %bb3 ret void } + +; CHECK: [0] bb => +; CHECK-NEXT: [1] bb1 => bb5 +; CHECK-NEXT: End region tree