1 ; RUN: opt -memdep -gvn -disable-output < %s 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" 4 target triple = "x86_64-apple-darwin10.0" 5 6 define i32 @test2() nounwind ssp { 7 entry: 8 ret i32 0 9 10 unreachable_block: 11 %a = add i32 %a, 1 12 ret i32 %a 13 } 14 15 define i32 @pr23096_test0() { 16 entry: 17 br label %bb0 18 19 bb1: 20 %ptr1 = ptrtoint i32* %ptr2 to i64 21 %ptr2 = inttoptr i64 %ptr1 to i32* 22 br i1 undef, label %bb0, label %bb1 23 24 bb0: 25 %phi = phi i32* [ undef, %entry ], [ %ptr2, %bb1 ] 26 %load = load i32, i32* %phi 27 ret i32 %load 28 } 29 30 define i32 @pr23096_test1() { 31 entry: 32 br label %bb0 33 34 bb1: 35 %ptr1 = getelementptr i32, i32* %ptr2, i32 0 36 %ptr2 = getelementptr i32, i32* %ptr1, i32 0 37 br i1 undef, label %bb0, label %bb1 38 39 bb0: 40 %phi = phi i32* [ undef, %entry ], [ %ptr2, %bb1 ] 41 %load = load i32, i32* %phi 42 ret i32 %load 43 } 44