xref: /llvm-project/llvm/test/ThinLTO/X86/ifunc_splitlto.ll (revision 83dc4734ba69da95d8c879bb174a1169b3f9e0b8)
1; regresstion test for https://github.com/llvm/llvm-project/issues/60962
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 datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
7target triple = "x86_64-unknown-linux-gnu"
8
9@i = ifunc ptr (ptr, i64), ptr @hoge
10
11@g = constant i8 1, !type !0
12@assoc = private constant i8 2, !associated !1
13
14define ptr @hoge() !type !2 {
15bb:
16  ret ptr null
17}
18
19; M0: @g = external constant
20; M0: @i = ifunc ptr (ptr, i64), ptr @hoge
21; M0: define ptr @hoge()
22; M0-NOT: @assoc
23; M1: @g = constant i8 1
24; M1: @assoc = private constant i8 2
25; M1-NOT: @i = ifunc ptr (ptr, i64), ptr @hoge
26; M1-NOT: define ptr @hoge()
27
28!0 = !{i32 0, !"typeid"}
29!1 = !{ptr @g}
30!2 = !{i64 0, !3}
31!3 = distinct !{}
32