[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / InstCombine / phi-load-metadata-dominance.ll
blob0c5aab85890c7774e547fe153932f65c4c7c5162
1 ; RUN: opt -instcombine -S < %s | FileCheck %s
3 declare void @bar()
4 declare void @baz()
6 ; Check that nonnull metadata is from non-dominating loads is not propagated.
7 ; CHECK-LABEL: cont:
8 ; CHECK-NOT: !nonnull
9 define i32* @test_combine_metadata_dominance(i1 %c, i32** dereferenceable(8) %p1, i32** dereferenceable(8) %p2) {
10   br i1 %c, label %t, label %f
12   call void @bar()
13   %v1 = load i32*, i32** %p1, align 8, !nonnull !0
14   br label %cont
17   call void @baz()
18   %v2 = load i32*, i32** %p2, align 8
19   br label %cont
21 cont:
22   %res = phi i32* [ %v1, %t ], [ %v2, %f ]
23   ret i32* %res
26 !0 = !{}