标签: x86 llvm cpu-registers llvm-ir register-allocation
我在LLVM IR中有一些功能,它有一些输入参数。但是,我想保留一个在寄存器中传递的参数,我想只为x86编译它。例如,我正在编写一个包含添加指令的函数:
%sum = add i64 %val1, %val2
无论列表中的哪个args,我都保证val1在eax中,而val2在ebx物理寄存器中。如何在val1和eax之间进行映射?
答案 0 :(得分:0)
如果我们修改GHC调用约定并按正确的顺序排序寄存器,这是可能的。不幸的是,它正在修改LLVM源,但它可以工作。