[x64] Allow kX64Push Instruction to use spill slot as Operand
IA support both "push reg" and "push [mem]" assemble instruction. Use OperandGenerator::UseAny() for initializing Operand of kX64Push with should be more willing to use spill slots (Use constraints are marked as register-beneficial; UseAny are not) UnallocatedOperand: :REGISTER_OR_SLOT. That way, the register allocator Change-Id: I8ffd66915c8acd64221182710257232ef19f06d6 Reviewed-on: https://chromium-review.googlesource.com/c/1337312 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57708}
This commit is contained in:
parent
2359181f62
commit
7acffecc50
@ -1543,7 +1543,7 @@ void InstructionSelector::EmitPrepareArguments(
|
||||
opcode |= AddressingModeField::encode(mode);
|
||||
Emit(opcode, 0, outputs, input_count, inputs);
|
||||
} else {
|
||||
Emit(kX64Push, g.NoOutput(), g.Use(input.node));
|
||||
Emit(kX64Push, g.NoOutput(), g.UseAny(input.node));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user