大函数不内联 llvm -inline pass

big functions do not inline llvm -inline pass

似乎 llvm -inline pass 只内联小函数。有没有办法内联所有函数,无论它们有多大?

您可以使用 -inline-threshold 标志将 "cost" 更改为 LLVM 将内联函数的上限。更高的值意味着更多的函数将被内联。

opt -inline -inline-threshold=10000 ...

显然函数并不总是内联的,尤其是当调用图包含循环(递归调用)时。