* reuse simple memory paralocs, since we always setup a stack frame and

we can address them via the frame pointer

git-svn-id: trunk@29941 -
This commit is contained in:
Jonas Maebe 2015-02-23 22:54:12 +00:00
parent a81e81c775
commit e2d21a5716

View File

@ -42,6 +42,7 @@ unit cpupara;
function create_paraloc_info(p: tabstractprocdef; side: tcallercallee):longint;override;
function create_varargs_paraloc_info(p: tabstractprocdef; varargspara: tvarargsparalist):longint;override;
function get_funcretloc(p: tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override;
function param_use_paraloc(const cgpara: tcgpara): boolean; override;
private
curintreg,
curmmreg: tsuperregister;
@ -331,6 +332,15 @@ unit cpupara;
internalerror(2014113001);
end;
function taarch64paramanager.param_use_paraloc(const cgpara: tcgpara): boolean;
begin
{ we always set up a stack frame -> we can always access the parameters
this way }
result:=
(cgpara.location^.loc=LOC_REFERENCE) and
not assigned(cgpara.location^.next);
end;
procedure taarch64paramanager.init_para_alloc_values;
begin