; RUN: opt < %s -passes=gvn -S | FileCheck %s define i32 @main(ptr %p, i32 %x, i32 %y) { block1: %cmp = icmp eq i32 %x, %y br i1 %cmp , label %block2, label %block3 block2: %a = load ptr, ptr %p br label %block4 block3: %b = load ptr, ptr %p br label %block4 block4: ; CHECK-NOT: %existingPHI = phi ; CHECK: %DEAD = phi %existingPHI = phi ptr [ %a, %block2 ], [ %b, %block3 ] %DEAD = load ptr, ptr %p %c = load i32, ptr %DEAD %d = load i32, ptr %existingPHI %e = add i32 %c, %d ret i32 %e }