brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · a423b5e Raw
94 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=loop-unroll -unroll-peel-count=1 < %s | FileCheck %s3 4declare zeroext i8 @patatino()5 6define fastcc void @tinky() {7; CHECK-LABEL: @tinky(8; CHECK-NEXT:  entry:9; CHECK-NEXT:    br label [[NEXT:%.*]]10; CHECK:       loopexit.loopexit:11; CHECK-NEXT:    br label [[LOOPEXIT:%.*]]12; CHECK:       loopexit:13; CHECK-NEXT:    ret void14; CHECK:       next:15; CHECK-NEXT:    br label [[LOOP_PEEL_BEGIN:%.*]]16; CHECK:       loop.peel.begin:17; CHECK-NEXT:    br label [[LOOP_PEEL:%.*]]18; CHECK:       loop.peel:19; CHECK-NEXT:    [[CALL593_PEEL:%.*]] = tail call zeroext i8 @patatino()20; CHECK-NEXT:    br i1 false, label [[LOOP_PEEL_NEXT:%.*]], label [[LOOPEXIT]]21; CHECK:       loop.peel.next:22; CHECK-NEXT:    br label [[LOOP_PEEL_NEXT1:%.*]]23; CHECK:       loop.peel.next1:24; CHECK-NEXT:    br label [[NEXT_PEEL_NEWPH:%.*]]25; CHECK:       next.peel.newph:26; CHECK-NEXT:    br label [[LOOP:%.*]]27; CHECK:       loop:28; CHECK-NEXT:    [[CALL593:%.*]] = tail call zeroext i8 @patatino()29; CHECK-NEXT:    br i1 false, label [[LOOP]], label [[LOOPEXIT_LOOPEXIT:%.*]], !llvm.loop [[LOOP0:![0-9]+]]30;31entry:32  br label %next33 34loopexit:35  ret void36 37next:38  br label %loop39 40loop:41  %a = phi i8 [ undef, %next ], [ %call593, %loop ]42  %b = phi i32 [ 0, %next ], [ 1, %loop ]43  %call593 = tail call zeroext i8 @patatino()44  br i1 false, label %loop, label %loopexit45}46 47define void @tinky2() {48; CHECK-LABEL: @tinky2(49; CHECK-NEXT:  entry:50; CHECK-NEXT:    br label [[NEXT:%.*]]51; CHECK:       loopexit.loopexit:52; CHECK-NEXT:    br label [[LOOPEXIT:%.*]]53; CHECK:       loopexit:54; CHECK-NEXT:    ret void55; CHECK:       next:56; CHECK-NEXT:    br label [[LOOP_PEEL_BEGIN:%.*]]57; CHECK:       loop.peel.begin:58; CHECK-NEXT:    br label [[LOOP_PEEL:%.*]]59; CHECK:       loop.peel:60; CHECK-NEXT:    [[CALL593_PEEL:%.*]] = tail call zeroext i8 @patatino()61; CHECK-NEXT:    [[B_NEXT_PEEL:%.*]] = add i32 0, 162; CHECK-NEXT:    [[COND_PEEL:%.*]] = icmp ne i32 0, 3063; CHECK-NEXT:    br i1 [[COND_PEEL]], label [[LOOP_PEEL_NEXT:%.*]], label [[LOOPEXIT]]64; CHECK:       loop.peel.next:65; CHECK-NEXT:    br label [[LOOP_PEEL_NEXT1:%.*]]66; CHECK:       loop.peel.next1:67; CHECK-NEXT:    br label [[NEXT_PEEL_NEWPH:%.*]]68; CHECK:       next.peel.newph:69; CHECK-NEXT:    br label [[LOOP:%.*]]70; CHECK:       loop:71; CHECK-NEXT:    [[B:%.*]] = phi i32 [ [[B_NEXT_PEEL]], [[NEXT_PEEL_NEWPH]] ], [ [[B_NEXT:%.*]], [[LOOP]] ]72; CHECK-NEXT:    [[CALL593:%.*]] = tail call zeroext i8 @patatino()73; CHECK-NEXT:    [[B_NEXT]] = add nuw nsw i32 [[B]], 174; CHECK-NEXT:    [[COND:%.*]] = icmp ne i32 [[B]], 3075; CHECK-NEXT:    br i1 [[COND]], label [[LOOP]], label [[LOOPEXIT_LOOPEXIT:%.*]], !llvm.loop [[LOOP3:![0-9]+]]76;77entry:78  br label %next79 80loopexit:81  ret void82 83next:84  br label %loop85 86loop:87  %a = phi i8 [ undef, %next ], [ %call593, %loop ]88  %b = phi i32 [ 0, %next ], [ %b.next, %loop ]89  %call593 = tail call zeroext i8 @patatino()90  %b.next = add i32 %b, 191  %cond = icmp ne i32 %b, 3092  br i1 %cond, label %loop, label %loopexit93}94