使用LLVM Alias和IFunc功能的任何实际示例?

问题描述 投票:4回答:1

我正在创建一个前端(现在的玩具语言,也许是永久的)直接发出LLVM IR(不是通过C ++库)。

我看了,但找不到声明和使用任何主题功能的真实实用的例子。我必须继续做的最好的是Language Reference.

问题如标题所述。

compiler-construction llvm-ir
1个回答
1
投票

我从LLVM找不到多少,但我从GCC docs找到了更详细的解释。

别名,尤其是弱别名,可用于在系统标头未定义时定义某些函数的默认实现。 This问题显示了它在Linux glibc源代码中的用法示例。

this的例子来看,当你想要为某些处理器选择某种功能的不同版本时,ifunc可能很有用。您编写的解析器函数可以使用某些特定于操作系统的代码来确定某些系统特性(如处理器类型)并返回指向正确函数的指针。

大部分都是低级别的东西,所以我99%肯定你不需要在语言前端使用它们。

© www.soinside.com 2019 - 2024. All rights reserved.