brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · b7d8404 Raw
64 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt -passes='print<access-info>' < %s -disable-output 2>&1 | FileCheck %s3 4define dso_local void @dotvariable_laa(ptr nocapture readonly nonnull %Base1, ptr nocapture readonly %Base2, ptr nocapture %Dest, ptr nocapture readonly %Preds) {5; CHECK-LABEL: 'dotvariable_laa'6; CHECK-NEXT:    for.body:7; CHECK-NEXT:      Memory dependences are safe with run-time checks8; CHECK-NEXT:      Dependences:9; CHECK-NEXT:      Run-time memory checks:10; CHECK-NEXT:      Check 0:11; CHECK-NEXT:        Comparing group GRP0:12; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv13; CHECK-NEXT:        Against group GRP1:14; CHECK-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv15; CHECK-NEXT:      Check 1:16; CHECK-NEXT:        Comparing group GRP0:17; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv18; CHECK-NEXT:        Against group GRP2:19; CHECK-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv20; CHECK-NEXT:      Check 2:21; CHECK-NEXT:        Comparing group GRP0:22; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv23; CHECK-NEXT:        Against group GRP3:24; CHECK-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv25; CHECK-NEXT:      Grouped accesses:26; CHECK-NEXT:        Group GRP0:27; CHECK-NEXT:          (Low: %Dest High: (800 + %Dest))28; CHECK-NEXT:            Member: {%Dest,+,8}<nuw><%for.body>29; CHECK-NEXT:        Group GRP1:30; CHECK-NEXT:          (Low: %Preds High: (400 + %Preds))31; CHECK-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>32; CHECK-NEXT:        Group GRP2:33; CHECK-NEXT:          (Low: %Base2 High: (800 + %Base2))34; CHECK-NEXT:            Member: {%Base2,+,8}<nw><%for.body>35; CHECK-NEXT:        Group GRP3:36; CHECK-NEXT:          (Low: %Base1 High: (800 + %Base1))37; CHECK-NEXT:            Member: {%Base1,+,8}<nw><%for.body>38; CHECK-EMPTY:39; CHECK-NEXT:      Non vectorizable stores to invariant address were not found in loop.40; CHECK-NEXT:      SCEV assumptions:41; CHECK-EMPTY:42; CHECK-NEXT:      Expressions re-written:43;44entry:45  br label %for.body46 47for.cond.cleanup:48  ret void49 50for.body:51  %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]52  %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv53  %0 = load i32, ptr %arrayidx, align 454  %cmp1.not = icmp eq i32 %0, 055  %spec.select = select i1 %cmp1.not, ptr %Base2, ptr %Base156  %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv57  %.sink = load double, ptr %.sink.in, align 858  %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv59  store double %.sink, ptr %1, align 860  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 161  %exitcond.not = icmp eq i64 %indvars.iv.next, 10062  br i1 %exitcond.not, label %for.cond.cleanup, label %for.body63}64