[Clang] ensure mangled names are valid identifiers before being suggested in ifunc...
[llvm-project.git] / llvm / test / Transforms / InstCombine / phi-load-metadata.ll
blobdb472746c0d1cffefda3d6a03c8916c050ac599a
1 ; RUN: opt -passes=instcombine -S < %s | FileCheck %s
3 declare void @bar()
4 declare void @baz()
6 ; Check that align metadata is combined
7 ; CHECK-LABEL: cont:
8 ; CHECK: load ptr, ptr
9 ; CHECK-SAME: !align ![[ALIGN:[0-9]+]]
10 define ptr @test_phi_combine_load_metadata(i1 %c, ptr dereferenceable(8) %p1, ptr dereferenceable(8) %p2) {
11   br i1 %c, label %t, label %f
13   call void @bar()
14   %v1 = load ptr, ptr %p1, align 8, !align !0
15   br label %cont
18   call void @baz()
19   %v2 = load ptr, ptr %p2, align 8, !align !1
20   br label %cont
22 cont:
23   %res = phi ptr [ %v1, %t ], [ %v2, %f ]
24   ret ptr %res
27 ; CHECK: ![[ALIGN]] = !{i64 8}
29 !0 = !{i64 8}
30 !1 = !{i64 16}