使用LLVM IR,如何将具有非void返回的函数转换为void返回类型

时间:2016-10-21 00:43:30

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

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

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

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

我想某人必须已经这样做了:)

干杯,

1 个答案:

答案 0 :(得分:0)

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