[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / load-combine-metadata-4.ll
blob2a1ffcd0605e398d4e50f94b52db7e2da02f12eb
1 ; RUN: opt -instcombine -S < %s | FileCheck %s
3 target datalayout = "e-m:e-p:64:64:64-i64:64-f80:128-n8:16:32:64-S128"
5 ; CHECK-LABEL: @test_load_load_combine_metadata(
6 ; Check that dereferenceable_or_null metadata is combined
7 ; CHECK: load i32*, i32** %0
8 ; CHECK-SAME: !dereferenceable_or_null ![[DEREF:[0-9]+]]
9 define void @test_load_load_combine_metadata(i32**, i32**, i32**) {
10   %a = load i32*, i32** %0, !dereferenceable_or_null !0
11   %b = load i32*, i32** %0, !dereferenceable_or_null !1
12   store i32 0, i32* %a
13   store i32 0, i32* %b
14   ret void
17 ; CHECK: ![[DEREF]] = !{i64 4}
19 !0 = !{i64 4}
20 !1 = !{i64 8}