brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.9 KiB · 7c9888f Raw
449 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -S -O3 < %s | FileCheck %s3 4target datalayout = "n64:32:16:8"5 6define i8 @test(i8 %x) {7; CHECK-LABEL: define range(i8 0, 53) i8 @test(8; CHECK-SAME: i8 [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {9; CHECK-NEXT:  [[START:.*:]]10; CHECK-NEXT:    [[X_:%.*]] = tail call i8 @llvm.umin.i8(i8 [[X]], i8 52)11; CHECK-NEXT:    ret i8 [[X_]]12;13start:14  %_0 = alloca [1 x i8], align 115  %0 = icmp eq i8 %x, 016  br i1 %0, label %bb1, label %bb217 18bb1:                                              ; preds = %start19  store i8 0, ptr %_0, align 120  br label %bb10521 22bb2:                                              ; preds = %start23  %1 = icmp eq i8 %x, 124  br i1 %1, label %bb3, label %bb425 26bb105:                                            ; preds = %bb104, %bb103, %bb101, %bb99, %bb97, %bb95, %bb93, %bb91, %bb89, %bb87, %bb85, %bb83, %bb81, %bb79, %bb77, %bb75, %bb73, %bb71, %bb69, %bb67, %bb65, %bb63, %bb61, %bb59, %bb57, %bb55, %bb53, %bb51, %bb49, %bb47, %bb45, %bb43, %bb41, %bb39, %bb37, %bb35, %bb33, %bb31, %bb29, %bb27, %bb25, %bb23, %bb21, %bb19, %bb17, %bb15, %bb13, %bb11, %bb9, %bb7, %bb5, %bb3, %bb127  %2 = load i8, ptr %_0, align 128  ret i8 %229 30bb3:                                              ; preds = %bb231  store i8 1, ptr %_0, align 132  br label %bb10533 34bb4:                                              ; preds = %bb235  %3 = icmp eq i8 %x, 236  br i1 %3, label %bb5, label %bb637 38bb5:                                              ; preds = %bb439  store i8 2, ptr %_0, align 140  br label %bb10541 42bb6:                                              ; preds = %bb443  %4 = icmp eq i8 %x, 344  br i1 %4, label %bb7, label %bb845 46bb7:                                              ; preds = %bb647  store i8 3, ptr %_0, align 148  br label %bb10549 50bb8:                                              ; preds = %bb651  %5 = icmp eq i8 %x, 452  br i1 %5, label %bb9, label %bb1053 54bb9:                                              ; preds = %bb855  store i8 4, ptr %_0, align 156  br label %bb10557 58bb10:                                             ; preds = %bb859  %6 = icmp eq i8 %x, 560  br i1 %6, label %bb11, label %bb1261 62bb11:                                             ; preds = %bb1063  store i8 5, ptr %_0, align 164  br label %bb10565 66bb12:                                             ; preds = %bb1067  %7 = icmp eq i8 %x, 668  br i1 %7, label %bb13, label %bb1469 70bb13:                                             ; preds = %bb1271  store i8 6, ptr %_0, align 172  br label %bb10573 74bb14:                                             ; preds = %bb1275  %8 = icmp eq i8 %x, 776  br i1 %8, label %bb15, label %bb1677 78bb15:                                             ; preds = %bb1479  store i8 7, ptr %_0, align 180  br label %bb10581 82bb16:                                             ; preds = %bb1483  %9 = icmp eq i8 %x, 884  br i1 %9, label %bb17, label %bb1885 86bb17:                                             ; preds = %bb1687  store i8 8, ptr %_0, align 188  br label %bb10589 90bb18:                                             ; preds = %bb1691  %10 = icmp eq i8 %x, 992  br i1 %10, label %bb19, label %bb2093 94bb19:                                             ; preds = %bb1895  store i8 9, ptr %_0, align 196  br label %bb10597 98bb20:                                             ; preds = %bb1899  %11 = icmp eq i8 %x, 10100  br i1 %11, label %bb21, label %bb22101 102bb21:                                             ; preds = %bb20103  store i8 10, ptr %_0, align 1104  br label %bb105105 106bb22:                                             ; preds = %bb20107  %12 = icmp eq i8 %x, 11108  br i1 %12, label %bb23, label %bb24109 110bb23:                                             ; preds = %bb22111  store i8 11, ptr %_0, align 1112  br label %bb105113 114bb24:                                             ; preds = %bb22115  %13 = icmp eq i8 %x, 12116  br i1 %13, label %bb25, label %bb26117 118bb25:                                             ; preds = %bb24119  store i8 12, ptr %_0, align 1120  br label %bb105121 122bb26:                                             ; preds = %bb24123  %14 = icmp eq i8 %x, 13124  br i1 %14, label %bb27, label %bb28125 126bb27:                                             ; preds = %bb26127  store i8 13, ptr %_0, align 1128  br label %bb105129 130bb28:                                             ; preds = %bb26131  %15 = icmp eq i8 %x, 14132  br i1 %15, label %bb29, label %bb30133 134bb29:                                             ; preds = %bb28135  store i8 14, ptr %_0, align 1136  br label %bb105137 138bb30:                                             ; preds = %bb28139  %16 = icmp eq i8 %x, 15140  br i1 %16, label %bb31, label %bb32141 142bb31:                                             ; preds = %bb30143  store i8 15, ptr %_0, align 1144  br label %bb105145 146bb32:                                             ; preds = %bb30147  %17 = icmp eq i8 %x, 16148  br i1 %17, label %bb33, label %bb34149 150bb33:                                             ; preds = %bb32151  store i8 16, ptr %_0, align 1152  br label %bb105153 154bb34:                                             ; preds = %bb32155  %18 = icmp eq i8 %x, 17156  br i1 %18, label %bb35, label %bb36157 158bb35:                                             ; preds = %bb34159  store i8 17, ptr %_0, align 1160  br label %bb105161 162bb36:                                             ; preds = %bb34163  %19 = icmp eq i8 %x, 18164  br i1 %19, label %bb37, label %bb38165 166bb37:                                             ; preds = %bb36167  store i8 18, ptr %_0, align 1168  br label %bb105169 170bb38:                                             ; preds = %bb36171  %20 = icmp eq i8 %x, 19172  br i1 %20, label %bb39, label %bb40173 174bb39:                                             ; preds = %bb38175  store i8 19, ptr %_0, align 1176  br label %bb105177 178bb40:                                             ; preds = %bb38179  %21 = icmp eq i8 %x, 20180  br i1 %21, label %bb41, label %bb42181 182bb41:                                             ; preds = %bb40183  store i8 20, ptr %_0, align 1184  br label %bb105185 186bb42:                                             ; preds = %bb40187  %22 = icmp eq i8 %x, 21188  br i1 %22, label %bb43, label %bb44189 190bb43:                                             ; preds = %bb42191  store i8 21, ptr %_0, align 1192  br label %bb105193 194bb44:                                             ; preds = %bb42195  %23 = icmp eq i8 %x, 22196  br i1 %23, label %bb45, label %bb46197 198bb45:                                             ; preds = %bb44199  store i8 22, ptr %_0, align 1200  br label %bb105201 202bb46:                                             ; preds = %bb44203  %24 = icmp eq i8 %x, 23204  br i1 %24, label %bb47, label %bb48205 206bb47:                                             ; preds = %bb46207  store i8 23, ptr %_0, align 1208  br label %bb105209 210bb48:                                             ; preds = %bb46211  %25 = icmp eq i8 %x, 24212  br i1 %25, label %bb49, label %bb50213 214bb49:                                             ; preds = %bb48215  store i8 24, ptr %_0, align 1216  br label %bb105217 218bb50:                                             ; preds = %bb48219  %26 = icmp eq i8 %x, 25220  br i1 %26, label %bb51, label %bb52221 222bb51:                                             ; preds = %bb50223  store i8 25, ptr %_0, align 1224  br label %bb105225 226bb52:                                             ; preds = %bb50227  %27 = icmp eq i8 %x, 26228  br i1 %27, label %bb53, label %bb54229 230bb53:                                             ; preds = %bb52231  store i8 26, ptr %_0, align 1232  br label %bb105233 234bb54:                                             ; preds = %bb52235  %28 = icmp eq i8 %x, 27236  br i1 %28, label %bb55, label %bb56237 238bb55:                                             ; preds = %bb54239  store i8 27, ptr %_0, align 1240  br label %bb105241 242bb56:                                             ; preds = %bb54243  %29 = icmp eq i8 %x, 28244  br i1 %29, label %bb57, label %bb58245 246bb57:                                             ; preds = %bb56247  store i8 28, ptr %_0, align 1248  br label %bb105249 250bb58:                                             ; preds = %bb56251  %30 = icmp eq i8 %x, 29252  br i1 %30, label %bb59, label %bb60253 254bb59:                                             ; preds = %bb58255  store i8 29, ptr %_0, align 1256  br label %bb105257 258bb60:                                             ; preds = %bb58259  %31 = icmp eq i8 %x, 30260  br i1 %31, label %bb61, label %bb62261 262bb61:                                             ; preds = %bb60263  store i8 30, ptr %_0, align 1264  br label %bb105265 266bb62:                                             ; preds = %bb60267  %32 = icmp eq i8 %x, 31268  br i1 %32, label %bb63, label %bb64269 270bb63:                                             ; preds = %bb62271  store i8 31, ptr %_0, align 1272  br label %bb105273 274bb64:                                             ; preds = %bb62275  %33 = icmp eq i8 %x, 32276  br i1 %33, label %bb65, label %bb66277 278bb65:                                             ; preds = %bb64279  store i8 32, ptr %_0, align 1280  br label %bb105281 282bb66:                                             ; preds = %bb64283  %34 = icmp eq i8 %x, 33284  br i1 %34, label %bb67, label %bb68285 286bb67:                                             ; preds = %bb66287  store i8 33, ptr %_0, align 1288  br label %bb105289 290bb68:                                             ; preds = %bb66291  %35 = icmp eq i8 %x, 34292  br i1 %35, label %bb69, label %bb70293 294bb69:                                             ; preds = %bb68295  store i8 34, ptr %_0, align 1296  br label %bb105297 298bb70:                                             ; preds = %bb68299  %36 = icmp eq i8 %x, 35300  br i1 %36, label %bb71, label %bb72301 302bb71:                                             ; preds = %bb70303  store i8 35, ptr %_0, align 1304  br label %bb105305 306bb72:                                             ; preds = %bb70307  %37 = icmp eq i8 %x, 36308  br i1 %37, label %bb73, label %bb74309 310bb73:                                             ; preds = %bb72311  store i8 36, ptr %_0, align 1312  br label %bb105313 314bb74:                                             ; preds = %bb72315  %38 = icmp eq i8 %x, 37316  br i1 %38, label %bb75, label %bb76317 318bb75:                                             ; preds = %bb74319  store i8 37, ptr %_0, align 1320  br label %bb105321 322bb76:                                             ; preds = %bb74323  %39 = icmp eq i8 %x, 38324  br i1 %39, label %bb77, label %bb78325 326bb77:                                             ; preds = %bb76327  store i8 38, ptr %_0, align 1328  br label %bb105329 330bb78:                                             ; preds = %bb76331  %40 = icmp eq i8 %x, 39332  br i1 %40, label %bb79, label %bb80333 334bb79:                                             ; preds = %bb78335  store i8 39, ptr %_0, align 1336  br label %bb105337 338bb80:                                             ; preds = %bb78339  %41 = icmp eq i8 %x, 40340  br i1 %41, label %bb81, label %bb82341 342bb81:                                             ; preds = %bb80343  store i8 40, ptr %_0, align 1344  br label %bb105345 346bb82:                                             ; preds = %bb80347  %42 = icmp eq i8 %x, 41348  br i1 %42, label %bb83, label %bb84349 350bb83:                                             ; preds = %bb82351  store i8 41, ptr %_0, align 1352  br label %bb105353 354bb84:                                             ; preds = %bb82355  %43 = icmp eq i8 %x, 42356  br i1 %43, label %bb85, label %bb86357 358bb85:                                             ; preds = %bb84359  store i8 42, ptr %_0, align 1360  br label %bb105361 362bb86:                                             ; preds = %bb84363  %44 = icmp eq i8 %x, 43364  br i1 %44, label %bb87, label %bb88365 366bb87:                                             ; preds = %bb86367  store i8 43, ptr %_0, align 1368  br label %bb105369 370bb88:                                             ; preds = %bb86371  %45 = icmp eq i8 %x, 44372  br i1 %45, label %bb89, label %bb90373 374bb89:                                             ; preds = %bb88375  store i8 44, ptr %_0, align 1376  br label %bb105377 378bb90:                                             ; preds = %bb88379  %46 = icmp eq i8 %x, 45380  br i1 %46, label %bb91, label %bb92381 382bb91:                                             ; preds = %bb90383  store i8 45, ptr %_0, align 1384  br label %bb105385 386bb92:                                             ; preds = %bb90387  %47 = icmp eq i8 %x, 46388  br i1 %47, label %bb93, label %bb94389 390bb93:                                             ; preds = %bb92391  store i8 46, ptr %_0, align 1392  br label %bb105393 394bb94:                                             ; preds = %bb92395  %48 = icmp eq i8 %x, 47396  br i1 %48, label %bb95, label %bb96397 398bb95:                                             ; preds = %bb94399  store i8 47, ptr %_0, align 1400  br label %bb105401 402bb96:                                             ; preds = %bb94403  %49 = icmp eq i8 %x, 48404  br i1 %49, label %bb97, label %bb98405 406bb97:                                             ; preds = %bb96407  store i8 48, ptr %_0, align 1408  br label %bb105409 410bb98:                                             ; preds = %bb96411  %50 = icmp eq i8 %x, 49412  br i1 %50, label %bb99, label %bb100413 414bb99:                                             ; preds = %bb98415  store i8 49, ptr %_0, align 1416  br label %bb105417 418bb100:                                            ; preds = %bb98419  %51 = icmp eq i8 %x, 50420  br i1 %51, label %bb101, label %bb102421 422bb101:                                            ; preds = %bb100423  store i8 50, ptr %_0, align 1424  br label %bb105425 426bb102:                                            ; preds = %bb100427  %52 = icmp eq i8 %x, 51428  br i1 %52, label %bb103, label %bb104429 430bb103:                                            ; preds = %bb102431  store i8 51, ptr %_0, align 1432  br label %bb105433 434bb104:                                            ; preds = %bb102435  store i8 52, ptr %_0, align 1436  br label %bb105437}438 439; Make sure the call is inlined.440define i8 @test2(i8 %x) {441; CHECK-LABEL: define range(i8 0, 53) i8 @test2(442; CHECK-SAME: i8 [[X:%.*]]) local_unnamed_addr #[[ATTR0]] {443; CHECK-NEXT:    [[CALL:%.*]] = tail call range(i8 0, 53) i8 @llvm.umin.i8(i8 [[X]], i8 52)444; CHECK-NEXT:    ret i8 [[CALL]]445;446  %call = call i8 @test(i8 %x)447  ret i8 %call448}449