Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / preserve-load-metadata-3.ll
blob82c08f3ac3c2a2fdc60081ddce49eaf08b2feb26
1 ; RUN: opt < %s -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -hoist-common-insts=true -S | FileCheck %s
3 declare void @bar(ptr)
4 declare void @baz(ptr)
6 ; CHECK-LABEL: @test_load_combine_metadata(
7 ; Check that dereferenceable_or_null metadata is combined
8 ; CHECK: load ptr, ptr %p
9 ; CHECK-SAME: !dereferenceable_or_null ![[DEREF:[0-9]+]]
10 ; CHECK: t:
11 ; CHECK: f:
12 define void @test_load_combine_metadata(i1 %c, ptr %p) {
13   br i1 %c, label %t, label %f
16   %v1 = load ptr, ptr %p, !dereferenceable_or_null !0
17   call void @bar(ptr %v1)
18   br label %cont
21   %v2 = load ptr, ptr %p, !dereferenceable_or_null !1
22   call void @baz(ptr %v2)
23   br label %cont
25 cont:
26   ret void
29 ; CHECK: ![[DEREF]] = !{i64 8}
31 !0 = !{i64 8}
32 !1 = !{i64 16}