llvm-project/llvm/test/Transforms/GVN/pr36063.ll

23 lines
598 B
LLVM

; 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
}