我正在编写一个使用生成的llvm IR位代码的llvm工具。并且对于va_arg clang将其扩展为
getelementptr instruction
具有固定位置和内存布局
而不是使用
va_arg instruction
是否有任何编译器标志来禁用此扩展?
AFAIK,不,因为变量参数处理是特定于平台的。
此外,我尝试使用LLVM IR中的VA指令,有时会导致错误的机器代码。那里有很多错综复杂的内容,这就是为什么IR VA指令将被弃用的原因。