【发布时间】:2019-04-16 07:58:39
【问题描述】:
我正在编写一个使用生成的 llvm IR 位代码的 llvm 工具。而对于 va_arg clang 将其扩展为
getelementptr instruction
具有固定位置和内存布局
而不是使用
va_arg instruction
是否有任何编译器标志来禁用此扩展?
【问题讨论】:
我正在编写一个使用生成的 llvm IR 位代码的 llvm 工具。而对于 va_arg clang 将其扩展为
getelementptr instruction
具有固定位置和内存布局
而不是使用
va_arg instruction
是否有任何编译器标志来禁用此扩展?
【问题讨论】:
AFAIK,不,因为变量参数处理是特定于平台的。
此外,我尝试使用来自 LLVM IR 的 VA 指令,但有时会导致错误的机器代码。那里有很多错综复杂的地方,这就是为什么 IR VA 指令将被弃用的原因。
【讨论】: