xref: /llvm-project/llvm/test/Transforms/CrossDSOCFI/cfi_functions.ll (revision 3528e63d89305907b3d6e0f59f7b03b94a12dacc)
1; Test that types referenced in ThinLTO-style !cfi.functions are known to __cfi_check.
2; RUN: opt -S -passes=cross-dso-cfi < %s | FileCheck %s
3
4; CHECK:      define void @__cfi_check(
5; CHECK:        switch i64
6; CHECK-NEXT:     i64 1234, label
7; CHECK-NEXT:     i64 5678, label
8; CHECK-NEXT:   ]
9
10target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
11target triple = "x86_64-unknown-linux-gnu"
12
13!cfi.functions = !{!0, !1}
14!llvm.module.flags = !{!6}
15
16!0 = !{!"f", i8 0, !2, !4}
17!1 = !{!"g", i8 1, !3, !5}
18!2 = !{i64 0, !"typeid1"}
19!3 = !{i64 0, !"typeid2"}
20!4 = !{i64 0, i64 1234}
21!5 = !{i64 0, i64 5678}
22!6 = !{i32 4, !"Cross-DSO CFI", i32 1}
23