Home | History | Annotate | Download | only in LoopVectorize
      1 ; RUN: opt < %s  -loop-vectorize -force-vector-unroll=1 -force-vector-width=4 
      2 
      3 target 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"
      4 target triple = "x86_64-unknown-linux-gnu"
      5 
      6 %type1 = type { %type2 }
      7 %type2 = type { [0 x i8*], i8**, i32, i32, i32 }
      8 
      9 define void @test() nounwind uwtable align 2 {
     10   br label %for.body.lr.ph.i.i.i
     11 
     12 for.body.lr.ph.i.i.i:
     13   br label %for.body.i.i.i
     14 
     15 for.body.i.i.i:
     16   %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc.i.i.i ], [ 0, %for.body.lr.ph.i.i.i ]
     17   br label %for.inc.i.i.i
     18 
     19 for.inc.i.i.i:
     20   %indvars.iv.next = add i64 %indvars.iv, 1
     21   %lftr.wideiv = trunc i64 %indvars.iv.next to i32
     22   %exitcond = icmp ne i32 %lftr.wideiv, undef
     23   br i1 %exitcond, label %for.body.i.i.i, label %for.end.i.i.i
     24 
     25 for.end.i.i.i:
     26   %lcssa = phi %type1* [ undef, %for.inc.i.i.i ]
     27   unreachable
     28 }
     29 
     30 ; PR16139
     31 define void @test2(i8* %x) {
     32 entry:
     33   indirectbr i8* %x, [ label %L0, label %L1 ]
     34 
     35 L0:
     36   br label %L0
     37 
     38 L1:
     39   ret void
     40 }
     41