37 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -passes="loop(invalidate<all>,loop-unroll-and-jam,loop-unroll-and-jam)" -allow-unroll-and-jam -unroll-and-jam-count=4 < %s -S | FileCheck %s3 4; This test completely unrolls the middle loop out of a 3-deep loop nest.5 6define i16 @test_it() {7; CHECK-LABEL: define i16 @test_it() {8; CHECK-NEXT: [[ENTRY:.*:]]9; CHECK-NEXT: br label %[[FOR_COND:.*]]10; CHECK: [[FOR_COND_LOOPEXIT:.*]]:11; CHECK-NEXT: br label %[[FOR_COND]]12; CHECK: [[FOR_COND]]:13; CHECK-NEXT: br label %[[DO_BODY2:.*]]14; CHECK: [[DO_BODY2]]:15; CHECK-NEXT: br label %[[WHILE_COND3:.*]]16; CHECK: [[WHILE_COND3]]:17; CHECK-NEXT: br i1 true, label %[[DO_COND:.*]], label %[[WHILE_COND3]]18; CHECK: [[DO_COND]]:19; CHECK-NEXT: br label %[[FOR_COND_LOOPEXIT]]20;21entry:22 br label %for.cond23 24for.cond: ; preds = %do.cond, %entry25 br label %do.body226 27do.body2: ; preds = %do.cond, %for.cond28 br label %while.cond329 30while.cond3: ; preds = %while.cond3, %do.body231 br i1 true, label %do.cond, label %while.cond332 33do.cond: ; preds = %while.cond334 br i1 true, label %for.cond, label %do.body235}36 37