brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.0 KiB · d3d5da7 Raw
95 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -disable-output "-passes=print<da>" -aa-pipeline=basic-aa 2>&1 \3; RUN: | FileCheck %s4 5; ModuleID = 'ZIV.bc'6target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"7target triple = "x86_64-apple-macosx10.6.0"8 9 10;;  A[n + 1] = 0;11;;  *B = A[1 + n];12 13define void @z0(ptr %A, ptr %B, i64 %n) nounwind uwtable ssp {14; CHECK-LABEL: 'z0'15; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 0, ptr %arrayidx, align 416; CHECK-NEXT:    da analyze - none!17; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: %0 = load i32, ptr %arrayidx2, align 418; CHECK-NEXT:    da analyze - consistent flow [|<]!19; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 %0, ptr %B, align 420; CHECK-NEXT:    da analyze - confused!21; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx2, align 4 --> Dst: %0 = load i32, ptr %arrayidx2, align 422; CHECK-NEXT:    da analyze - none!23; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx2, align 4 --> Dst: store i32 %0, ptr %B, align 424; CHECK-NEXT:    da analyze - confused!25; CHECK-NEXT:  Src: store i32 %0, ptr %B, align 4 --> Dst: store i32 %0, ptr %B, align 426; CHECK-NEXT:    da analyze - none!27;28entry:29  %add = add i64 %n, 130  %arrayidx = getelementptr inbounds i32, ptr %A, i64 %add31  store i32 0, ptr %arrayidx, align 432  %add1 = add i64 %n, 133  %arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %add134  %0 = load i32, ptr %arrayidx2, align 435  store i32 %0, ptr %B, align 436  ret void37}38 39 40;;  A[n] = 0;41;;  *B = A[n + 1];42 43define void @z1(ptr %A, ptr %B, i64 %n) nounwind uwtable ssp {44; CHECK-LABEL: 'z1'45; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 0, ptr %arrayidx, align 446; CHECK-NEXT:    da analyze - none!47; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: %0 = load i32, ptr %arrayidx1, align 448; CHECK-NEXT:    da analyze - none!49; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 %0, ptr %B, align 450; CHECK-NEXT:    da analyze - confused!51; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx1, align 4 --> Dst: %0 = load i32, ptr %arrayidx1, align 452; CHECK-NEXT:    da analyze - none!53; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx1, align 4 --> Dst: store i32 %0, ptr %B, align 454; CHECK-NEXT:    da analyze - confused!55; CHECK-NEXT:  Src: store i32 %0, ptr %B, align 4 --> Dst: store i32 %0, ptr %B, align 456; CHECK-NEXT:    da analyze - none!57;58entry:59  %arrayidx = getelementptr inbounds i32, ptr %A, i64 %n60  store i32 0, ptr %arrayidx, align 461  %add = add i64 %n, 162  %arrayidx1 = getelementptr inbounds i32, ptr %A, i64 %add63  %0 = load i32, ptr %arrayidx1, align 464  store i32 %0, ptr %B, align 465  ret void66}67 68 69;;  A[n] = 0;70;;  *B = A[m];71 72define void @z2(ptr %A, ptr %B, i64 %n, i64 %m) nounwind uwtable ssp {73; CHECK-LABEL: 'z2'74; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 0, ptr %arrayidx, align 475; CHECK-NEXT:    da analyze - none!76; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: %0 = load i32, ptr %arrayidx1, align 477; CHECK-NEXT:    da analyze - flow [|<]!78; CHECK-NEXT:  Src: store i32 0, ptr %arrayidx, align 4 --> Dst: store i32 %0, ptr %B, align 479; CHECK-NEXT:    da analyze - confused!80; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx1, align 4 --> Dst: %0 = load i32, ptr %arrayidx1, align 481; CHECK-NEXT:    da analyze - none!82; CHECK-NEXT:  Src: %0 = load i32, ptr %arrayidx1, align 4 --> Dst: store i32 %0, ptr %B, align 483; CHECK-NEXT:    da analyze - confused!84; CHECK-NEXT:  Src: store i32 %0, ptr %B, align 4 --> Dst: store i32 %0, ptr %B, align 485; CHECK-NEXT:    da analyze - none!86;87entry:88  %arrayidx = getelementptr inbounds i32, ptr %A, i64 %n89  store i32 0, ptr %arrayidx, align 490  %arrayidx1 = getelementptr inbounds i32, ptr %A, i64 %m91  %0 = load i32, ptr %arrayidx1, align 492  store i32 %0, ptr %B, align 493  ret void94}95