brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 0e07810 Raw
80 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=constraint-elimination -S %s | FileCheck --check-prefixes=COMMON,SIMP %s3; RUN: opt -passes=constraint-elimination -constraint-elimination-max-rows=9 -S %s | FileCheck --check-prefixes=COMMON,SIMP %s4; RUN: opt -passes=constraint-elimination -constraint-elimination-max-rows=8 -S %s | FileCheck --check-prefixes=COMMON,NOSIMP %s5 6 7define i1 @test_max_row_limit(i32 %l0, i32 %l1, i32 %l2, i32 %l3, i32 %l4) {8; SIMP-LABEL: @test_max_row_limit(9; SIMP-NEXT:  bb0:10; SIMP-NEXT:    [[C0:%.*]] = icmp uge i32 [[L0:%.*]], 10011; SIMP-NEXT:    br i1 [[C0]], label [[BB1:%.*]], label [[EXIT:%.*]]12; SIMP:       bb1:13; SIMP-NEXT:    [[C1:%.*]] = icmp uge i32 [[L1:%.*]], 10014; SIMP-NEXT:    br i1 [[C1]], label [[BB2:%.*]], label [[EXIT]]15; SIMP:       bb2:16; SIMP-NEXT:    [[C2:%.*]] = icmp uge i32 [[L2:%.*]], 10017; SIMP-NEXT:    br i1 [[C2]], label [[BB3:%.*]], label [[EXIT]]18; SIMP:       bb3:19; SIMP-NEXT:    [[C3:%.*]] = icmp uge i32 [[L3:%.*]], 10020; SIMP-NEXT:    br i1 [[C3]], label [[BB4:%.*]], label [[EXIT]]21; SIMP:       bb4:22; SIMP-NEXT:    [[C4:%.*]] = icmp uge i32 [[L4:%.*]], 10023; SIMP-NEXT:    br i1 [[C4]], label [[BB5:%.*]], label [[EXIT]]24; SIMP:       bb5:25; SIMP-NEXT:    ret i1 true26; SIMP:       exit:27; SIMP-NEXT:    ret i1 false28;29; NOSIMP-LABEL: @test_max_row_limit(30; NOSIMP-NEXT:  bb0:31; NOSIMP-NEXT:    [[C0:%.*]] = icmp uge i32 [[L0:%.*]], 10032; NOSIMP-NEXT:    br i1 [[C0]], label [[BB1:%.*]], label [[EXIT:%.*]]33; NOSIMP:       bb1:34; NOSIMP-NEXT:    [[C1:%.*]] = icmp uge i32 [[L1:%.*]], 10035; NOSIMP-NEXT:    br i1 [[C1]], label [[BB2:%.*]], label [[EXIT]]36; NOSIMP:       bb2:37; NOSIMP-NEXT:    [[C2:%.*]] = icmp uge i32 [[L2:%.*]], 10038; NOSIMP-NEXT:    br i1 [[C2]], label [[BB3:%.*]], label [[EXIT]]39; NOSIMP:       bb3:40; NOSIMP-NEXT:    [[C3:%.*]] = icmp uge i32 [[L3:%.*]], 10041; NOSIMP-NEXT:    br i1 [[C3]], label [[BB4:%.*]], label [[EXIT]]42; NOSIMP:       bb4:43; NOSIMP-NEXT:    [[C4:%.*]] = icmp uge i32 [[L4:%.*]], 10044; NOSIMP-NEXT:    br i1 [[C4]], label [[BB5:%.*]], label [[EXIT]]45; NOSIMP:       bb5:46; NOSIMP-NEXT:    [[C5:%.*]] = icmp uge i32 [[L4]], 10047; NOSIMP-NEXT:    ret i1 [[C5]]48; NOSIMP:       exit:49; NOSIMP-NEXT:    ret i1 false50;51bb0:52  %c0 = icmp uge i32 %l0, 10053  br i1 %c0, label %bb1, label %exit54 55bb1:56  %c1 = icmp uge i32 %l1, 10057  br i1 %c1, label %bb2, label %exit58 59bb2:60  %c2 = icmp uge i32 %l2, 10061  br i1 %c2, label %bb3, label %exit62 63bb3:64  %c3 = icmp uge i32 %l3, 10065  br i1 %c3, label %bb4, label %exit66 67bb4:68  %c4 = icmp uge i32 %l4, 10069  br i1 %c4, label %bb5, label %exit70 71bb5:72  %c5 = icmp uge i32 %l4, 10073  ret i1 %c574 75exit:76  ret i1 false77}78;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:79; COMMON: {{.*}}80