xref: /llvm-project/llvm/test/Bitcode/intrinsics-with-unnamed-types.ll (revision e45cf479231fc144b4e1eb8b3e3bd2f578b6907d)
1; RUN: llvm-as -o - %s | llvm-dis -o - 2>&1 | FileCheck %s
2
3; Make sure we can assemble and disassemble IR containing intrinsics with
4; unnamed types.
5
6%1 = type opaque
7%0 = type opaque
8
9; CHECK-LABEL: @f0(
10; CHECK: %c1 = call ptr @llvm.ssa.copy.p0(ptr %arg)
11; CHECK: %c2 = call ptr @llvm.ssa.copy.p0(ptr %tmp)
12; CHECK: %c3 = call ptr @llvm.ssa.copy.p0(ptr %arg2)
13; CHECK: %c4 = call ptr @llvm.ssa.copy.p0(ptr %tmp2)
14
15define void @f0(%0* %arg, %1* %tmp, %1** %tmp2, %0** %arg2) {
16bb:
17  %cmp1 = icmp ne %0* %arg, null
18  %c1 = call %0* @llvm.ssa.copy.p0s_s.0(%0* %arg)
19  %c2 = call %1* @llvm.ssa.copy.p0s_s.1(%1* %tmp)
20  %c3 = call %0** @llvm.ssa.copy.p0p0s_s.1(%0** %arg2)
21  %c4 = call %1** @llvm.ssa.copy.p0p0s_s.0(%1** %tmp2)
22  ret void
23}
24
25declare %0* @llvm.ssa.copy.p0s_s.0(%0* returned)
26
27declare %1* @llvm.ssa.copy.p0s_s.1(%1* returned)
28
29declare %0** @llvm.ssa.copy.p0p0s_s.1(%0** returned)
30
31declare %1** @llvm.ssa.copy.p0p0s_s.0(%1** returned)
32