1 ; REQUIRES: asserts 2 ; RUN: opt -regions -analyze < %s | FileCheck %s 3 ; RUN: opt -regions -stats -disable-output < %s 2>&1 | FileCheck -check-prefix=STAT %s 4 ; RUN: opt -regions -print-region-style=bb -analyze < %s 2>&1 | FileCheck -check-prefix=BBIT %s 5 ; RUN: opt -regions -print-region-style=rn -analyze < %s 2>&1 | FileCheck -check-prefix=RNIT %s 6 7 ; RUN: opt < %s -passes='print<regions>' 2>&1 | FileCheck %s 8 9 define internal fastcc zeroext i8 @handle_compress() nounwind { 10 end165: 11 br i1 1, label %false239, label %true181 12 13 true181: 14 br i1 1, label %then187, label %else232 15 16 then187: 17 br label %end265 18 19 else232: 20 br i1 1, label %false239, label %then245 21 22 false239: 23 br i1 1, label %then245, label %else259 24 25 then245: 26 br i1 1, label %then251, label %end253 27 28 then251: 29 br label %end253 30 31 end253: 32 br label %end265 33 34 else259: 35 br label %end265 36 37 end265: 38 br i1 1, label %then291, label %end298 39 40 then291: 41 br label %end298 42 43 end298: 44 ret i8 1 45 } 46 47 ; CHECK-NOT: => 48 ; CHECK: [0] end165 => <Function Return> 49 ; CHECK-NEXT: [1] end165 => end265 50 ; CHECK-NEXT: [2] then245 => end253 51 ; CHECK-NEXT: [1] end265 => end298 52 53 ; STAT: 4 region - The # of regions 54 55 ; BBIT: end165, false239, then245, then251, end253, end265, then291, end298, else259, true181, then187, else232, 56 ; BBIT: end165, false239, then245, then251, end253, else259, true181, then187, else232, 57 ; BBIT: then245, then251, 58 ; BBIT: end265, then291, 59 60 ; RNIT: end165 => end265, end265 => end298, end298, 61 ; RNIT: end165, false239, then245 => end253, end253, else259, true181, then187, else232, 62 ; RNIT: then245, then251, 63 ; RNIT: end265, then291, 64