xref: /llvm-project/llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll (revision d3d7ba12033f20dfbc8eb6c60954478cff0d0182)
1; RUN: opt -S %s -passes=lowertypetests | FileCheck %s
2
3; CHECK: @badfileops = internal global %struct.f { ptr @bad_f, ptr @bad_f }
4; CHECK: @bad_f = internal alias void (), ptr @.cfi.jumptable
5; CHECK: define internal void @bad_f.cfi() !type !0 {
6; CHECK-NEXT:  ret void
7
8target triple = "x86_64-unknown-linux"
9
10%struct.f = type { ptr, ptr }
11@badfileops = internal global %struct.f { ptr @bad_f, ptr @bad_f }, align 8
12
13declare i1 @llvm.type.test(ptr, metadata)
14
15define internal void @bad_f() !type !1 {
16  ret void
17}
18
19define internal fastcc void @do_f() unnamed_addr !type !2 {
20  %1 = tail call i1 @llvm.type.test(ptr undef, metadata !"_ZTSFiP4fileP3uioP5ucrediP6threadE"), !nosanitize !3
21  ret void
22}
23
24!1 = !{i64 0, !"_ZTSFiP4fileP3uioP5ucrediP6threadE"}
25!2 = !{i64 0, !"_ZTSFiP6threadiP4fileP3uioliE"}
26!3 = !{}
27