; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | \ ; RUN: not grep {int 1} ; When propagating the load through the select, make sure that the load is ; inserted where the original load was, not where the select is. Not doing ; so could produce incorrect results! implementation int %test(bool %C) { %X = alloca int %X2 = alloca int store int 1, int* %X store int 2, int* %X2 %Y = select bool %C, int* %X, int* %X2 store int 3, int* %X %Z = load int* %Y ret int %Z }