m68k: implement taicpu.spilling_get_operation_type_ref, supports predecrement/postincrement addressing

git-svn-id: trunk@29593 -
This commit is contained in:
Károly Balogh 2015-02-01 15:28:54 +00:00
parent a436dafd68
commit 460c4acaee

View File

@ -87,6 +87,7 @@ type
function is_same_reg_move(regtype: Tregistertype):boolean;override;
function spilling_get_operation_type(opnr: longint): topertype;override;
function spilling_get_operation_type_ref(opnr: longint; reg: tregister): topertype;override;
private
procedure init(_size : topsize); { this need to be called by all constructor }
@ -501,6 +502,13 @@ type
end;
end;
function taicpu.spilling_get_operation_type_ref(opnr: longint; reg: tregister): topertype;
begin
result := operand_read;
if (oper[opnr]^.ref^.base = reg) and
(oper[opnr]^.ref^.direction <> dir_none) then
result := operand_readwrite;
end;
function spilling_create_load(const ref:treference;r:tregister):Taicpu;
begin