1 ; RUN: opt < %s -simplifycfg -simplifycfg-require-and-preserve-domtree=1 -hoist-common-insts=true -S | FileCheck %s
3 declare void @bar(i32*)
4 declare void @baz(i32*)
6 ; CHECK-LABEL: @test_load_combine_metadata(
7 ; Check that dereferenceable_or_null metadata is combined
8 ; CHECK: load i32*, i32** %p
9 ; CHECK-SAME: !dereferenceable_or_null ![[DEREF:[0-9]+]]
12 define void @test_load_combine_metadata(i1 %c, i32** %p) {
13 br i1 %c, label %t, label %f
16 %v1 = load i32*, i32** %p, !dereferenceable_or_null !0
17 call void @bar(i32* %v1)
21 %v2 = load i32*, i32** %p, !dereferenceable_or_null !1
22 call void @baz(i32* %v2)
29 ; CHECK: ![[DEREF]] = !{i64 8}