brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 3dd99f7 Raw
33 lines · plain
1; REQUIRES: asserts2; RUN: opt < %s -passes='print<regions>' 2>&1 | FileCheck %s3 4; While working on improvements to the region info analysis, this test5; case caused an incorrect region bb2 => bb3 to be detected. It is incorrect6; because bb2 has an outgoing edge to bb4. This is interesting because7; bb2 dom bb3 and bb3 pdom bb2, which should have been enough to prevent incoming8; forward edges into the region and outgoing forward edges from the region.9 10define void @meread_() nounwind {11bb:12   br label %bb113 14bb1:                                              ; preds = %bb4, %bb15   br label %bb216 17bb2:                                              ; preds = %bb118  br i1 true, label %bb3, label %bb419 20bb3:                                              ; preds = %bb221  br i1 true, label %bb4, label %bb522 23bb4:                                              ; preds = %bb3, %bb224   br label %bb125 26bb5:                                              ; preds = %bb327   ret void28 }29 30; CHECK:      [0] bb => <Function Return>31; CHECK-NEXT:   [1] bb1 => bb532; CHECK-NEXT: End region tree33