【问题标题】:Using LLVM IR, how do I transform a function with non-void return into a void return type使用 LLVM IR,如何将具有非 void 返回的函数转换为 void 返回类型
【发布时间】:2016-10-21 00:43:29
【问题描述】:

是否有现有的方法可以将具有非 void 返回类型的函数转换为具有 void 返回类型的函数?

我需要程序中的所有函数(除了 main 函数)都有一个 void 返回类型,以便与我的研究/优化正常工作。

我假设实现将为返回值创建一个分配器,创建一个新函数并将分配器插入参数中,将值保存在分配器中,然后在函数完成并调用返回后加载该值。

我想有人一定已经这样做了:)

干杯,

【问题讨论】:

    标签: c++ function llvm compiler-optimization llvm-ir


    【解决方案1】:

    将代码作为模块传递听起来相当简单,但您需要对程序有完全的可见性才能做到这一点。这意味着您可以调用 libC 函数(例如,除非您将实现作为 LTO 链接的一部分)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2015-01-12
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 2014-05-12
      相关资源
      最近更新 更多