1 ; REQUIRES: asserts 2 ; RUN: opt -regions -analyze < %s | FileCheck %s 3 ; RUN: opt -regions -stats < %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 entry: 11 br label %outer 12 13 outer: 14 br label %body 15 16 body: 17 br i1 1, label %else, label %true77 18 19 true77: 20 br i1 1, label %then83, label %else 21 22 then83: 23 br label %outer 24 25 else: 26 br label %else106 27 28 else106: 29 br i1 1, label %end, label %outer 30 31 end: 32 ret i8 1 33 } 34 35 ; CHECK-NOT: => 36 ; CHECK: [0] entry => <Function Return> 37 ; CHECK-NEXT: [1] outer => end 38 ; CHECK-NEXT: [2] outer => else 39 40 ; STAT: 3 region - The # of regions 41 ; STAT: 1 region - The # of simple regions 42 43 ; BBIT: entry, outer, body, else, else106, end, true77, then83, 44 ; BBIT: outer, body, else, else106, true77, then83, 45 ; BBIT: outer, body, true77, then83, 46 47 ; RNIT: entry, outer => end, end, 48 ; RNIT: outer => else, else, else106, 49 ; RNIT: outer, body, true77, then83, 50