| ; RUN: opt < %s -memcpyopt -mldst-motion -gvn -S | FileCheck %s | |
| define void @foo(i8* %ret, i1 %x) { | |
| %a = alloca i8 | |
| br i1 %x, label %yes, label %no | |
| yes: ; preds = %0 | |
| %gepa = getelementptr i8, i8* %a, i64 0 | |
| store i8 5, i8* %gepa | |
| br label %out | |
| no: ; preds = %0 | |
| %gepb = getelementptr i8, i8* %a, i64 0 | |
| store i8 5, i8* %gepb | |
| br label %out | |
| out: ; preds = %no, %yes | |
| %tmp = load i8, i8* %a | |
| ; CHECK-NOT: undef | |
| store i8 %tmp, i8* %ret | |
| ret void | |
| } |