brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · f9772ee Raw
49 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes='loop(loop-rotate,loop-deletion)' -S | FileCheck %s3 4target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"5 6define void @main() {7; CHECK-LABEL: @main(8; CHECK-NEXT:  entry:9; CHECK-NEXT:    br label [[L0_PREHEADER:%.*]]10; CHECK:       L0.L0.preheader.loopexit_crit_edge:11; CHECK-NEXT:    br label [[L0_PREHEADER_LOOPEXIT:%.*]]12; CHECK:       L0.preheader.loopexit:13; CHECK-NEXT:    br label [[L0_PREHEADER]]14; CHECK:       L0.preheader:15; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 0, 016; CHECK-NEXT:    [[INC:%.*]] = zext i1 [[CMP]] to i3217; CHECK-NEXT:    [[TOBOOL3_NOT1:%.*]] = icmp eq i32 [[INC]], 018; CHECK-NEXT:    br i1 [[TOBOOL3_NOT1]], label [[L0_PREHEADER_LOOPEXIT]], label [[L1_PREHEADER_LR_PH:%.*]]19; CHECK:       L1.preheader.lr.ph:20; CHECK-NEXT:    br label [[L0_L0_PREHEADER_LOOPEXIT_CRIT_EDGE:%.*]]21;22entry:23  br label %L0.preheader24 25L0.preheader:26  br label %L027 28L0:                                               ; preds = %L0.latch, %L0.preheader29  %k.0 = phi i32 [ 0, %L0.preheader ], [ %spec.select, %L0.latch ]30  %cmp = icmp slt i32 0, 031  %inc = zext i1 %cmp to i3232  %spec.select = add nsw i32 %k.0, %inc33  %tobool3.not = icmp eq i32 %spec.select, 034  br i1 %tobool3.not, label %L0.preheader, label %L1.preheader35 36L1.preheader:37  %tobool8.not = icmp eq i32 %k.0, 038  br label %L139 40L1:41  br i1 %tobool8.not, label %L1.latch, label %L0.latch42 43L1.latch:44  br i1 false, label %L1, label %L0.latch45 46L0.latch:47  br label %L048}49