使用 LLVM 内联特定函数调用

2024-04-25

给定一个llvm::CallInst *,我如何告诉内联器内联这个特定的调用。我可以将目标函数标记为AlwaysInline这将内联调用,但它也会内联每个调用。也许有某种方法可以在我发出特定调用时调用内联函数?内联基本块内的所有调用也可以。


您可以使用内联函数 https://llvm.org/doxygen/Cloning_8h_source.html实用性存在于llvm/Transforms/Utils/Cloning.h。 它可以接受一个CallInst*作为一个论点:

llvm::CallInst* call = /* ... */;
llvm::InlineFunctionInfo ifi;

llvm::InlineFunction(call, ifi);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LLVM 内联特定函数调用 的相关文章

随机推荐

  • git clone 永远挂在 github 上

    当我按照 github 中的第 5 点 测试所有内容 时guide http help github com linux set up git ssh 命令也永远挂起 根据该指南 我应该看到一条消息 Github 不提供 shell 访问
  • Python 使 UMAP 更快(呃)

    我正在使用 UMAP https umap learn readthedocs io en latest https umap learn readthedocs io en latest 以减少数据的维度 我的数据集包含 4700 个样本
  • Math.min.apply 对于 null 返回 0

    我想从数组中获取最小值 如果数据包含null value Math min apply回报0 for null价值 请参见这个 JSFiddle 示例 http jsfiddle net jeryslo 7DCXw 即使数组中存在空值 如何
  • 使用 DirectSound 向后读取声音

    是否可以使用 DirectSound 的托管版本向后读取声音 如果没有 是否有另一个库可以轻松实现 您可以使用 WaveFileReader 和 WaveFileWriter 类NAudio http www codeplex com na
  • 如何在 python-docx 中将页面大小更改为 A4

    我尝试使用 python docx 创建 Word 文档 创建的文件的字母尺寸为 8 5 x 11 英寸 但在德国 标准格式是 A4 8 27 x 11 69 英寸 from docx import Document from docx s
  • 从工作线程 C# CF 在主线程中抛出事件

    我有 可能是 一个简单的问题 我正在使用互操作来调用 CompactFramework 中的异步函数 获得执行结果后 我想引发一个事件 该事件将被表单捕获 并根据结果 我将在屏幕上呈现一些数据 然而 问题是 当互操作函数返回结果时 它会在工
  • 找出数组中重复的元素

    有一个大小为 n 的数组 数组中包含的元素在 1 到 n 1 之间 每个元素出现一次 只有一个元素出现多次 我们需要找到这个元素 尽管这是一个非常常见的常见问题解答 但我仍然没有找到正确的答案 大多数建议是我应该将数组中的所有元素相加 然后
  • 在 Swift 中将 Int 更改为 CGFloat 以返回 heightForRowAtIndexPath tableview 函数

    我确信我错过了一些非常简单的东西 但我就是无法让它发挥作用 我会尽力更好地解释我正在做的事情 以帮助其他遇到同样问题的人 这是我的职能 func tableView tableView UITableView heightForRowAtI
  • 更新数据库时 LiveData 列表不更新

    我目前正在重构遗留代码以使用 Android 架构组件 并在一种存储库模式中设置房间数据库和齐射请求 因此 表示 域层要求存储库获取 LiveData Objects 来观察或告诉他与服务器同步 然后删除旧的数据库条目并从服务器重新获取所有
  • Dockerfile FROM 与 Docker-compose IMAGE

    我目前正在学习Docker 阅读文档和几篇文章后 我显然有更多的问题而不是答案 目前对我来说最有趣的是 FROM some docker image 在 Dockerfile 和 image digitalocean com php 在 d
  • Windows 操作系统中无法访问的 IP 套接字关闭时间

    这些代码通过用户数据报协议提供发送数据 下面有两个代码 当我使用第一个代码来处理无法访问的 IP 地址时 我得到了三秒的延迟 请查看新结果标题 只需打开新的 C 控制台应用程序并将这些代码粘贴到其中 第一个代码 using System u
  • 尝试编辑时,Rails form_for 结果是 POST 而不是 PUT

    我在用Rails 4并出现以下错误 路由错误没有路线匹配 POST logs 1 meals 13 edit 我使用 meal 传递模型对象的 form 并且编辑页面正确呈现 然而 Rails 似乎并没有检查膳食对象是否已经保存 因此它不断
  • 在车把模板中显示 hasMany ember 关系中的第一项

    我需要显示 hasMany 关系中的第一项 基本上一个线程可以有多个作者 但我只需要在特定模板中显示第一个作者 我有以下 json threads id 1 authors 2 3 authors id 2 fullname foo id
  • 在 Windows 10 UWP 应用程序中创建可滑动的 ListView,例如在地图应用程序中

    我正在创建 UWP 应用程序 我需要在滑动菜单中显示一系列结果 滑动菜单可滚动并且可以滑动改变其高度就像 Windows 10 Mobile 中的地图应用程序中的搜索结果一样 我找不到任何教程来创建这样的体验 提前致谢 您也可以使用User
  • Docker hub 中 Docker 构建期间的不同主目录

    我发现在 Ubuntu 14 04 主机中构建 docker 镜像与 Docker Hub 自动构建之间有一个奇怪的区别 这是我的 Dockerfile FROM buildpack deps wheezy scm RUN echo HOM
  • PreferenceFragment::onPreferenceTreeClick 返回值 - 它有什么作用?

    看来我不知道如何返回值PreferenceFragment onPreferenceTreeClick http developer android com reference android preference PreferenceFr
  • 如何在 Next.js 中渲染页面之前重定向?

    我想知道在 Next js 中渲染页面之前是否可以重定向用户 现在我有这个 import useRouter from next router export default function RedirectPage const route
  • Spring 本地化,无需在查询字符串中传递语言

    我正在开发一个支持多种语言的网络应用程序项目 我正在使用 Spring 框架 Spring 可以选择通过在调度程序 servlet 中添加以下 bean 来支持多种语言
  • makefile 中的路径不起作用

    我正在运行以下命令makefile哪些需要改变dir到特定目标并在那里运行npm install 问题是我能够在输出中看到它将目录 项目 应用程序 打印到正确的目录 但安装 npm install 在上层 项目 上运行 为什么 例如 当我运
  • 使用 LLVM 内联特定函数调用

    给定一个llvm CallInst 我如何告诉内联器内联这个特定的调用 我可以将目标函数标记为AlwaysInline这将内联调用 但它也会内联每个调用 也许有某种方法可以在我发出特定调用时调用内联函数 内联基本块内的所有调用也可以 您可以