Home | History | Annotate | Download | only in LoopAccessAnalysis
      1 ; RUN: opt -loop-vectorize -force-vector-interleave=1 -S < %s | FileCheck %s
      2 ; CHECK-LABEL: TestFoo
      3 ; CHECK-NOT: %wide.vec
      4 
      5 target datalayout = "e-m:e-i64:64-n32:64"
      6 target triple = "powerpc64le-unknown-linux-gnu"
      7 
      8 define void @TestFoo(i1 %X, i1 %Y) {
      9 bb:
     10   br label %.loopexit5.outer
     11 
     12 .loopexit5.outer:
     13   br label %.lr.ph12
     14 
     15 .loopexit:
     16   br i1 %X, label %.loopexit5.outer, label %.lr.ph12
     17 
     18 .lr.ph12:
     19   %f.110 = phi i32* [ %tmp1, %.loopexit ], [ null, %.loopexit5.outer ]
     20   %tmp1 = getelementptr inbounds i32, i32* %f.110, i64 -2
     21   br i1 %Y, label %bb4, label %.loopexit
     22 
     23 bb4:
     24   %j.27 = phi i32 [ 0, %.lr.ph12 ], [ %tmp7, %bb4 ]
     25   %tmp5 = load i32, i32* %f.110, align 4
     26   %tmp7 = add nsw i32 %j.27, 1
     27   %exitcond = icmp eq i32 %tmp7, 0
     28   br i1 %exitcond, label %.loopexit, label %bb4
     29 }
     30