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