brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 228bffb Raw
61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -passes=newgvn -S %s | FileCheck %s3; REQUIRES: asserts4 5 6define void @tinkywinky(i1 %arg) {7; CHECK-LABEL: define void @tinkywinky(i1 %arg) {8; CHECK-NEXT:  entry:9; CHECK-NEXT:    br i1 %arg, label [[FOR_COND18:%.*]], label [[FOR_COND_PREHEADER:%.*]]10; CHECK:       for.cond.preheader:11; CHECK-NEXT:    br label [[FOR_COND2THREAD_PRE_SPLIT:%.*]]12; CHECK:       for.cond2thread-pre-split:13; CHECK-NEXT:    [[CONV24:%.*]] = phi i32 [ 0, [[FOR_COND_PREHEADER]] ], [ [[CONV:%.*]], [[FOR_INC_SPLIT:%.*]] ]14; CHECK-NEXT:    br label [[FOR_INC_SPLIT]]15; CHECK:       for.inc.split:16; CHECK-NEXT:    [[ADD:%.*]] = shl nsw i32 [[CONV24]], 1617; CHECK-NEXT:    [[SEXT23:%.*]] = add i32 [[ADD]], 6553618; CHECK-NEXT:    [[CONV]] = ashr exact i32 [[SEXT23]], 1619; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[SEXT23]], 360448020; CHECK-NEXT:    br i1 [[CMP]], label [[FOR_COND2THREAD_PRE_SPLIT]], label [[L1_LOOPEXIT:%.*]]21; CHECK:       l1.loopexit:22; CHECK-NEXT:    br label [[L1:%.*]]23; CHECK:       l1:24; CHECK-NEXT:    [[TMP0:%.*]] = load i16, ptr null, align 225; CHECK-NEXT:    [[G_0_G_0__PR:%.*]] = load i16, ptr null, align 226; CHECK-NEXT:    ret void27; CHECK:       for.cond18:28; CHECK-NEXT:    br label [[L1]]29;30entry:31  br i1 %arg, label %for.cond18, label %for.cond.preheader32 33for.cond.preheader:34  br label %for.cond2thread-pre-split35 36for.cond2thread-pre-split:37  %conv24 = phi i32 [ 0, %for.cond.preheader ], [ %conv, %for.inc.split ]38  br label %for.inc.split39 40for.inc.split:41  %add = shl nsw i32 %conv24, 1642  %sext23 = add i32 %add, 6553643  %conv = ashr exact i32 %sext23, 1644  %cmp = icmp slt i32 %sext23, 360448045  br i1 %cmp, label %for.cond2thread-pre-split, label %l1.loopexit46 47l1.loopexit:48  br label %l149 50l1:51  %h.0 = phi ptr [ undef, %for.cond18 ], [ null, %l1.loopexit ]52  %0 = load i16, ptr %h.0, align 253  store i16 %0, ptr null, align 254  %g.0.g.0..pr = load i16, ptr null, align 255  %tobool15 = icmp eq i16 %g.0.g.0..pr, 056  ret void57 58for.cond18:59  br label %l160}61