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 |