fix PR4963: folding insertvalue would sometimes turn a packed struct into
[llvm/avr.git] / test / Transforms / CondProp / 2009-01-25-SingleEntryPHI.ll
blob58dd29f5e28e1105cb68c93bbbb541442155e117
1 ; RUN: opt < %s -condprop | llvm-dis
2 ; PR3405
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"
4 target triple = "x86_64-unknown-linux-gnu"
6 define i32 @main(i32 %argc, i8** %argv) nounwind {
7 entry:
8         br label %bb2
10 bb2:            ; preds = %bb.bb2_crit_edge, %entry
11         br i1 false, label %bb5.thread2, label %bb
13 bb:             ; preds = %bb2
14         br i1 false, label %bb3, label %bb.bb2_crit_edge
16 bb.bb2_crit_edge:               ; preds = %bb
17         br label %bb2
19 bb3:            ; preds = %bb
20         %.lcssa4 = phi i1 [ false, %bb ]                ; <i1> [#uses=1]
21         br i1 %.lcssa4, label %bb5.thread, label %bb6
23 bb5.thread:             ; preds = %bb3
24         br label %bb7
26 bb7:            ; preds = %bb5.thread2, %bb5.thread
27         br label %UnifiedReturnBlock
29 bb6:            ; preds = %bb3
30         br label %UnifiedReturnBlock
32 bb5.thread2:            ; preds = %bb2
33         br label %bb7
35 UnifiedReturnBlock:             ; preds = %bb6, %bb7
36         ret i32 0