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