1; RUN: llc < %s | grep cgfi | count 8 2; RUN: llc < %s | grep clgfi | count 2 3 4target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128" 5target triple = "s390x-unknown-linux-gnu" 6 7define void @foo(i64 %a, i64 %b) nounwind { 8entry: 9 %cmp = icmp eq i64 %a, 0 ; <i1> [#uses=1] 10 br i1 %cmp, label %if.then, label %if.end 11 12if.then: ; preds = %entry 13 tail call void @bar() nounwind 14 ret void 15 16if.end: ; preds = %entry 17 ret void 18} 19 20declare void @bar() 21 22define void @foo1(i64 %a, i64 %b) nounwind { 23entry: 24 %cmp = icmp ugt i64 %a, 1 ; <i1> [#uses=1] 25 br i1 %cmp, label %if.then, label %if.end 26 27if.then: ; preds = %entry 28 tail call void @bar() nounwind 29 ret void 30 31if.end: ; preds = %entry 32 ret void 33} 34 35define void @foo2(i64 %a, i64 %b) nounwind { 36entry: 37 %cmp = icmp ugt i64 %a, 1 ; <i1> [#uses=1] 38 br i1 %cmp, label %if.end, label %if.then 39 40if.then: ; preds = %entry 41 tail call void @bar() nounwind 42 ret void 43 44if.end: ; preds = %entry 45 ret void 46} 47 48define void @foo3(i64 %a) nounwind { 49entry: 50 %cmp = icmp eq i64 %a, 0 ; <i1> [#uses=1] 51 br i1 %cmp, label %if.end, label %if.then 52 53if.then: ; preds = %entry 54 tail call void @bar() nounwind 55 ret void 56 57if.end: ; preds = %entry 58 ret void 59} 60 61define void @foo4(i64 %a) nounwind { 62entry: 63 %cmp = icmp eq i64 %a, 1 ; <i1> [#uses=1] 64 br i1 %cmp, label %if.then, label %if.end 65 66if.then: ; preds = %entry 67 tail call void @bar() nounwind 68 ret void 69 70if.end: ; preds = %entry 71 ret void 72} 73 74define void @foo5(i64 %a) nounwind { 75entry: 76 %cmp = icmp eq i64 %a, 1 ; <i1> [#uses=1] 77 br i1 %cmp, label %if.end, label %if.then 78 79if.then: ; preds = %entry 80 tail call void @bar() nounwind 81 ret void 82 83if.end: ; preds = %entry 84 ret void 85} 86 87define void @foo6(i64 %a) nounwind { 88entry: 89 %cmp = icmp slt i64 %a, 1 ; <i1> [#uses=1] 90 br i1 %cmp, label %if.then, label %if.end 91 92if.then: ; preds = %entry 93 tail call void @bar() nounwind 94 ret void 95 96if.end: ; preds = %entry 97 ret void 98} 99 100define void @foo7(i64 %a) nounwind { 101entry: 102 %cmp = icmp sgt i64 %a, 1 ; <i1> [#uses=1] 103 br i1 %cmp, label %if.then, label %if.end 104 105if.then: ; preds = %entry 106 tail call void @bar() nounwind 107 ret void 108 109if.end: ; preds = %entry 110 ret void 111} 112 113define void @foo8(i64 %a) nounwind { 114entry: 115 %cmp = icmp sgt i64 %a, 1 ; <i1> [#uses=1] 116 br i1 %cmp, label %if.end, label %if.then 117 118if.then: ; preds = %entry 119 tail call void @bar() nounwind 120 ret void 121 122if.end: ; preds = %entry 123 ret void 124} 125 126define void @foo9(i64 %a) nounwind { 127entry: 128 %cmp = icmp slt i64 %a, 1 ; <i1> [#uses=1] 129 br i1 %cmp, label %if.end, label %if.then 130 131if.then: ; preds = %entry 132 tail call void @bar() nounwind 133 ret void 134 135if.end: ; preds = %entry 136 ret void 137} 138