xref: /llvm-project/llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll (revision 9950ea66203849df25352b8db8f4ea108ef47a5a)
1; REQUIRES: x86-registered-target
2; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t %s
3; RUN: llvm-modextract -b -n 0 -o - %t | llvm-dis | FileCheck --check-prefix=M0 %s
4; RUN: llvm-modextract -b -n 1 -o - %t | llvm-dis | FileCheck --check-prefix=M1 %s
5
6target triple = "x86_64-unknown-linux-gnu"
7
8define ptr @source() {
9  ret ptr @g
10}
11
12; M0: @g.84f59439b469192440047efc8de357fb = external hidden constant [1 x ptr]{{$}}
13; M1: @g.84f59439b469192440047efc8de357fb = hidden constant [1 x ptr] [ptr @ok.84f59439b469192440047efc8de357fb]
14@g = internal constant [1 x ptr] [
15  ptr @ok
16], !type !0
17
18; M0: define hidden i64 @ok.84f59439b469192440047efc8de357fb
19; M1: define available_externally hidden i64 @ok.84f59439b469192440047efc8de357fb
20define internal i64 @ok(ptr %this) {
21  ret i64 42
22}
23
24!0 = !{i32 0, !"typeid"}
25