c++ - 使用 LLVM 内联特定的函数调用
问题描述
给定一个llvm::CallInst *
,我如何告诉内联程序内联这个特定的调用。我可以将目标函数标记为AlwaysInline
并且将内联调用,但它也会内联每个调用。也许有一些方法可以在我发出特定调用时调用内联器?内联基本块中的所有调用也可以。
解决方案
您可以使用. llvm/Transforms/Utils/Cloning.h
它可以接受 aCallInst*
作为参数:
llvm::CallInst* call = /* ... */;
llvm::InlineFunctionInfo ifi;
llvm::InlineFunction(call, ifi);
推荐阅读
- python - OpenCV 找不到网络摄像头,但 Cheese 可以
- swift - 展开和折叠 1 个 Tableview 部分,1 行
- macos - openssl 32位mac
- elasticsearch - 遍历数组 update_by_query
- apache-kafka - 是否可以在 2 个 Kafka 主题之间动态插入流处理器?
- c# - 如何防止 MS Edge DevTools 停止 Visual Studio .NET MVC 应用程序?
- react-native - 有天赋的聊天缺少消息的“_id” - React Native
- ibm-midrange - 如何检查变量在CL中是否为空?
- visual-studio-code - 在混合语言文件中禁用 VSCode 中的从右到左编辑
- c - 从 uint64_t 转换为 double