Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / Transforms / GVN / load-from-unreachable-predecessor.ll
1 ; RUN: opt -gvn -S < %s | FileCheck %s
2
3 ; Check that an unreachable predecessor to a PHI node doesn't cause a crash.
4 ; PR21625.
5
6 define i32 @f(i32** %f) {
7 ; CHECK: bb0:
8 ; Load should be removed, since it's ignored.
9 ; CHECK-NEXT: br label
10 bb0:
11   %bar = load i32*, i32** %f
12   br label %bb2
13 bb1:
14   %zed = load i32*, i32** %f
15   br i1 false, label %bb1, label %bb2
16 bb2:
17   %foo = phi i32* [ null, %bb0 ], [ %zed, %bb1 ]
18   %storemerge = load i32, i32* %foo
19   ret i32 %storemerge
20 }