48 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -O3 -S < %s | FileCheck %s3 4define void @growTables(ptr %p) {5; CHECK-LABEL: define void @growTables(6; CHECK-SAME: ptr [[P:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {7; CHECK-NEXT: [[ENTRY:.*]]:8; CHECK-NEXT: [[CALL:%.*]] = load volatile i32, ptr [[P]], align 49; CHECK-NEXT: [[CMP71:%.*]] = icmp sgt i32 [[CALL]], 010; CHECK-NEXT: br i1 [[CMP71]], label %[[FOR_BODY:.*]], label %[[COMMON_RET:.*]]11; CHECK: [[FOR_BODY]]:12; CHECK-NEXT: [[I_02:%.*]] = phi i32 [ [[INC:%.*]], %[[FOR_BODY]] ], [ 0, %[[ENTRY]] ]13; CHECK-NEXT: [[CALL9:%.*]] = load volatile ptr, ptr [[P]], align 814; CHECK-NEXT: [[INC]] = add nuw nsw i32 [[I_02]], 115; CHECK-NEXT: [[CMP7:%.*]] = icmp slt i32 [[INC]], [[CALL]]16; CHECK-NEXT: br i1 [[CMP7]], label %[[FOR_BODY]], label %[[FOR_BODY12:.*]]17; CHECK: [[FOR_BODY12]]:18; CHECK-NEXT: [[CALL14:%.*]] = load volatile ptr, ptr [[P]], align 819; CHECK-NEXT: br label %[[COMMON_RET]]20; CHECK: [[COMMON_RET]]:21; CHECK-NEXT: ret void22;23entry:24 %call = load volatile i32, ptr %p, align 425 br label %for.cond26 27for.cond:28 %i.0 = phi i32 [ 0, %entry ], [ %inc, %for.body ]29 %cmp7 = icmp slt i32 %i.0, %call30 br i1 %cmp7, label %for.body, label %for.end31 32for.body:33 %call9 = load volatile ptr, ptr %p, align 834 %inc = add i32 %i.0, 135 br label %for.cond36 37for.end:38 %cmp11 = icmp sgt i32 %call, 039 br i1 %cmp11, label %for.body12, label %common.ret40 41for.body12:42 %call14 = load volatile ptr, ptr %p, align 843 br label %common.ret44 45common.ret:46 ret void47}48