| OLD | NEW |
| 1 ; RUN: opt < %s -loop-vectorize -force-vector-unroll=1 -force-vector-width=4 | 1 ; RUN: opt < %s -loop-vectorize -force-vector-unroll=1 -force-vector-width=4 |
| 2 | 2 |
| 3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6
4-S128" | 3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6
4-S128" |
| 4 target triple = "x86_64-unknown-linux-gnu" | 4 target triple = "x86_64-unknown-linux-gnu" |
| 5 | 5 |
| 6 %type1 = type { %type2 } | 6 %type1 = type { %type2 } |
| 7 %type2 = type { [0 x i8*], i8**, i32, i32, i32 } | 7 %type2 = type { [0 x i8*], i8**, i32, i32, i32 } |
| 8 | 8 |
| 9 define void @test() nounwind uwtable align 2 { | 9 define void @test() nounwind uwtable align 2 { |
| 10 br label %for.body.lr.ph.i.i.i | 10 br label %for.body.lr.ph.i.i.i |
| 11 | 11 |
| 12 for.body.lr.ph.i.i.i: | 12 for.body.lr.ph.i.i.i: |
| 13 br label %for.body.i.i.i | 13 br label %for.body.i.i.i |
| 14 | 14 |
| 15 for.body.i.i.i: | 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 ] | 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 | 17 br label %for.inc.i.i.i |
| 18 | 18 |
| 19 for.inc.i.i.i: | 19 for.inc.i.i.i: |
| 20 %indvars.iv.next = add i64 %indvars.iv, 1 | 20 %indvars.iv.next = add i64 %indvars.iv, 1 |
| 21 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 | 21 %lftr.wideiv = trunc i64 %indvars.iv.next to i32 |
| 22 %exitcond = icmp ne i32 %lftr.wideiv, undef | 22 %exitcond = icmp ne i32 %lftr.wideiv, undef |
| 23 br i1 %exitcond, label %for.body.i.i.i, label %for.end.i.i.i | 23 br i1 %exitcond, label %for.body.i.i.i, label %for.end.i.i.i |
| 24 | 24 |
| 25 for.end.i.i.i: | 25 for.end.i.i.i: |
| 26 %lcssa = phi %type1* [ undef, %for.inc.i.i.i ] | 26 %lcssa = phi %type1* [ undef, %for.inc.i.i.i ] |
| 27 unreachable | 27 unreachable |
| 28 } | 28 } |
| 29 | 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 } | |
| OLD | NEW |