Lines Matching refs:THREE
5 …ion-max-clones=3 -func-specialization-size-threshold=14 -S < %s | FileCheck %s --check-prefix=THREE
62 ; THREE-LABEL: @main(
63 ; THREE-NEXT: entry:
64 ; THREE-NEXT: br i1 [[FLAG:%.*]], label [[PLUS:%.*]], label [[MINUS:%.*]]
65 ; THREE: plus:
66 ; THREE-NEXT: [[TMP0:%.*]] = call i64 @compute.3(i64 [[X:%.*]], i64 [[Y:%.*]], i64 (i64, i64)* @…
67 ; THREE-NEXT: br label [[MERGE:%.*]]
68 ; THREE: minus:
69 ; THREE-NEXT: [[TMP1:%.*]] = call i64 @compute.1(i64 [[X]], i64 [[Y]], i64 (i64, i64)* @plus, i6…
70 ; THREE-NEXT: br label [[MERGE]]
71 ; THREE: merge:
72 ; THREE-NEXT: [[TMP2:%.*]] = phi i64 [ [[TMP0]], [[PLUS]] ], [ [[TMP1]], [[MINUS]] ]
73 ; THREE-NEXT: [[TMP3:%.*]] = call i64 @compute.2(i64 [[TMP2]], i64 42, i64 (i64, i64)* @minus, i…
74 ; THREE-NEXT: ret i64 [[TMP3]]
93 ; THREE-NOT: define internal i64 @compute
95 ; THREE-LABEL: define internal i64 @compute.1(i64 %x, i64 %y, i64 (i64, i64)* %binop1, i64 (i64, i6…
96 ; THREE-NEXT: entry:
97 ; THREE-NEXT: [[TMP0:%.+]] = call i64 @plus(i64 %x, i64 %y)
98 ; THREE-NEXT: [[TMP1:%.+]] = call i64 @minus(i64 %x, i64 %y)
99 ; THREE-NEXT: [[TMP2:%.+]] = add i64 [[TMP0]], [[TMP1]]
100 ; THREE-NEXT: [[TMP3:%.+]] = sdiv i64 [[TMP2]], %x
101 ; THREE-NEXT: [[TMP4:%.+]] = sub i64 [[TMP3]], %y
102 ; THREE-NEXT: [[TMP5:%.+]] = mul i64 [[TMP4]], 2
103 ; THREE-NEXT: ret i64 [[TMP5]]
104 ; THREE-NEXT: }
106 ; THREE-LABEL: define internal i64 @compute.2(i64 %x, i64 %y, i64 (i64, i64)* %binop1, i64 (i64, i6…
107 ; THREE-NEXT: entry:
108 ; THREE-NEXT: [[TMP0:%.+]] = call i64 @minus(i64 %x, i64 %y)
109 ; THREE-NEXT: [[TMP1:%.+]] = call i64 @power(i64 %x, i64 %y)
110 ; THREE-NEXT: [[TMP2:%.+]] = add i64 [[TMP0]], [[TMP1]]
111 ; THREE-NEXT: [[TMP3:%.+]] = sdiv i64 [[TMP2]], %x
112 ; THREE-NEXT: [[TMP4:%.+]] = sub i64 [[TMP3]], %y
113 ; THREE-NEXT: [[TMP5:%.+]] = mul i64 [[TMP4]], 2
114 ; THREE-NEXT: ret i64 [[TMP5]]
115 ; THREE-NEXT: }
117 ; THREE-LABEL: define internal i64 @compute.3(i64 %x, i64 %y, i64 (i64, i64)* %binop1, i64 (i64, i6…
118 ; THREE-NEXT: entry:
119 ; THREE-NEXT: [[TMP0:%.+]] = call i64 @power(i64 %x, i64 %y)
120 ; THREE-NEXT: [[TMP1:%.+]] = call i64 @mul(i64 %x, i64 %y)
121 ; THREE-NEXT: [[TMP2:%.+]] = add i64 [[TMP0]], [[TMP1]]
122 ; THREE-NEXT: [[TMP3:%.+]] = sdiv i64 [[TMP2]], %x
123 ; THREE-NEXT: [[TMP4:%.+]] = sub i64 [[TMP3]], %y
124 ; THREE-NEXT: [[TMP5:%.+]] = mul i64 [[TMP4]], 2
125 ; THREE-NEXT: ret i64 [[TMP5]]
126 ; THREE-NEXT: }