mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 21:18:19 +00:00
More fixes for win64:
- Do not clobber al during variadic calls, this is AMD64 ABI-only feature - Emit wincall64, where necessary Patch by Cameron Esfahani! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111289 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -776,7 +776,8 @@ void Emitter<CodeEmitter>::emitInstruction(const MachineInstr &MI,
|
||||
}
|
||||
|
||||
assert(MO.isImm() && "Unknown RawFrm operand!");
|
||||
if (Opcode == X86::CALLpcrel32 || Opcode == X86::CALL64pcrel32) {
|
||||
if (Opcode == X86::CALLpcrel32 || Opcode == X86::CALL64pcrel32 ||
|
||||
Opcode == X86::WINCALL64pcrel32) {
|
||||
// Fix up immediate operand for pc relative calls.
|
||||
intptr_t Imm = (intptr_t)MO.getImm();
|
||||
Imm = Imm - MCE.getCurrentPCValue() - 4;
|
||||
|
||||
Reference in New Issue
Block a user