xref: /llvm-project/llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-canonical-jump-tables.ll (revision 0e497d1554a915ace538dc08f03f1661aab8bdf7)
1*0e497d15SPeter Collingbourne; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t %s
2*0e497d15SPeter Collingbourne; RUN: llvm-modextract -b -n 1 -o - %t | llvm-dis | FileCheck %s
3*0e497d15SPeter Collingbourne
4*0e497d15SPeter Collingbourne; Check that cfi.functions metadata has the expected contents.
5*0e497d15SPeter Collingbourne
6*0e497d15SPeter Collingbourne; CHECK: !"f1", i8 1
7*0e497d15SPeter Collingbourne; CHECK: !"f2", i8 1
8*0e497d15SPeter Collingbourne; CHECK: !"f3", i8 0
9*0e497d15SPeter Collingbourne
10*0e497d15SPeter Collingbournedeclare !type !1 void @f1()
11*0e497d15SPeter Collingbourne
12*0e497d15SPeter Collingbournedefine void @f2() !type !1 {
13*0e497d15SPeter Collingbourne  ret void
14*0e497d15SPeter Collingbourne}
15*0e497d15SPeter Collingbourne
16*0e497d15SPeter Collingbournedefine void @f3() "cfi-canonical-jump-table" !type !1 {
17*0e497d15SPeter Collingbourne  ret void
18*0e497d15SPeter Collingbourne}
19*0e497d15SPeter Collingbourne
20*0e497d15SPeter Collingbourne!llvm.module.flags = !{!0}
21*0e497d15SPeter Collingbourne
22*0e497d15SPeter Collingbourne!0 = !{i32 4, !"CFI Canonical Jump Tables", i32 0}
23*0e497d15SPeter Collingbourne!1 = !{i32 0, !"typeid1"}
24