- m68k: removed garbage (tab characters, commented out code, unused variables, debug output and alike). Functionality unchanged.

git-svn-id: trunk@28070 -
This commit is contained in:
sergei 2014-06-26 06:01:29 +00:00
parent f7dd4f640a
commit 3ffa32a660

View File

@ -19,8 +19,6 @@
****************************************************************************
}
{ Generates the argument location information for 680x0.
}
unit cpupara;
{$i fpcdefs.inc}
@ -113,65 +111,6 @@ unit cpupara;
end;
end;
function getparaloc(p : tdef) : tcgloc;
begin
result:=LOC_REFERENCE;
(* Later, the LOC_REFERENCE is in most cases changed into LOC_REGISTER
if push_addr_param for the def is true
case p.typ of
orddef:
result:=LOC_REGISTER;
floatdef:
result:=LOC_FPUREGISTER;
enumdef:
result:=LOC_REGISTER;
pointerdef:
result:=LOC_REGISTER;
formaldef:
result:=LOC_REGISTER;
classrefdef:
result:=LOC_REGISTER;
recorddef:
if (target_info.abi<>abi_powerpc_aix) then
result:=LOC_REFERENCE
else
result:=LOC_REGISTER;
objectdef:
if is_object(p) then
result:=LOC_REFERENCE
else
result:=LOC_REGISTER;
stringdef:
if is_shortstring(p) or is_longstring(p) then
result:=LOC_REFERENCE
else
result:=LOC_REGISTER;
procvardef:
if (po_methodpointer in tprocvardef(p).procoptions) then
result:=LOC_REFERENCE
else
result:=LOC_REGISTER;
filedef:
result:=LOC_REGISTER;
arraydef:
result:=LOC_REFERENCE;
setdef:
if is_smallset(p) then
result:=LOC_REGISTER
else
result:=LOC_REFERENCE;
variantdef:
result:=LOC_REFERENCE;
{ avoid problems with errornous definitions }
errordef:
result:=LOC_REGISTER;
else
internalerror(2002071001);
end;
*)
end;
{ TODO: copied from ppc cg, needs work}
function tm68kparamanager.push_addr_param(varspez:tvarspez;def : tdef;calloption : tproccalloption) : boolean;
@ -296,29 +235,21 @@ unit cpupara;
hp : tparavarsym;
paracgsize : tcgsize;
paralen : aint;
parasize : longint;
paradef : tdef;
paradef : tdef;
i : longint;
loc : tcgloc;
nextintreg,
nextfloatreg : tsuperregister;
stack_offset : longint;
stack_offset : longint;
firstparaloc : boolean;
begin
result:=0;
nextintreg:=curintreg;
nextfloatreg:=curfloatreg;
stack_offset:=cur_stack_offset;
parasize:=0;
stack_offset:=cur_stack_offset;
for i:=0 to paras.count-1 do
begin
hp:=tparavarsym(paras[i]);
paradef:=hp.vardef;
paradef:=hp.vardef;
{ syscall for AmigaOS can have already a paraloc set }
{ syscall for AmigaOS can have already a paraloc set }
if (vo_has_explicit_paraloc in hp.varoptions) then
begin
if not(vo_is_syscall_lib in hp.varoptions) then
@ -331,13 +262,10 @@ unit cpupara;
if (p.proccalloption in cstylearrayofconst) and
is_array_of_const(paradef) then
begin
{$ifdef DEBUG_CHARLIE}
writeln('loc register');
{$endif DEBUG_CHARLIE}
paraloc:=hp.paraloc[side].add_location;
{ hack: the paraloc must be valid, but is not actually used }
paraloc^.loc:=LOC_REGISTER;
paraloc^.register:=NR_D0;
paraloc^.register:=NR_D0;
paraloc^.size:=OS_ADDR;
paraloc^.def:=voidpointertype;
break;
@ -345,11 +273,7 @@ unit cpupara;
if push_addr_param(hp.varspez,paradef,p.proccalloption) then
begin
{$ifdef DEBUG_CHARLIE}
writeln('loc register');
{$endif DEBUG_CHARLIE}
paradef:=getpointerdef(paradef);
loc:=LOC_REGISTER;
paracgsize := OS_ADDR;
paralen := tcgsize2size[OS_ADDR];
end
@ -360,7 +284,6 @@ unit cpupara;
else
paralen:=tcgsize2size[def_cgsize(paradef)];
loc:=getparaloc(paradef);
paracgsize:=def_cgsize(paradef);
{ for things like formaldef }
if (paracgsize=OS_NO) then
@ -388,90 +311,30 @@ unit cpupara;
while (paralen > 0) do
begin
paraloc:=hp.paraloc[side].add_location;
(*
by default, the m68k doesn't know any register parameters (FK)
if (loc = LOC_REGISTER) and
(nextintreg <= RS_D2) then
begin
//writeln('loc register');
paraloc^.loc := loc;
{ make sure we don't lose whether or not the type is signed }
if (paradef.typ <> orddef) then
paracgsize := int_cgsize(paralen);
if (paracgsize in [OS_NO,OS_64,OS_S64]) then
paraloc^.size := OS_INT
else
paraloc^.size := paracgsize;
paraloc^.register:=newreg(R_INTREGISTER,nextintreg,R_SUBNONE);
inc(nextintreg);
dec(paralen,tcgsize2size[paraloc^.size]);
end
else if (loc = LOC_FPUREGISTER) and
(nextfloatreg <= RS_FP2) then
begin
// writeln('loc fpuregister');
paraloc^.loc:=loc;
paraloc^.size := paracgsize;
paraloc^.register:=newreg(R_FPUREGISTER,nextfloatreg,R_SUBWHOLE);
inc(nextfloatreg);
dec(paralen,tcgsize2size[paraloc^.size]);
end
else { LOC_REFERENCE }
*)
begin
{$ifdef DEBUG_CHARLIE}
writeln('loc reference');
{$endif DEBUG_CHARLIE}
paraloc^.loc:=LOC_REFERENCE;
paraloc^.def:=get_paraloc_def(paradef,paralen,firstparaloc);
if paradef.typ<>orddef then
paracgsize:=int_cgsize(paralen);
if paracgsize=OS_NO then
paraloc^.size:=OS_INT
else
paraloc^.size:=paracgsize;
if (side = callerside) then
paraloc^.reference.index:=NR_STACK_POINTER_REG
else
paraloc^.reference.index:=NR_FRAME_POINTER_REG;
paraloc^.reference.offset:=stack_offset;
inc(stack_offset,align(paralen,4));
paralen := 0;
end;
paraloc^.loc:=LOC_REFERENCE;
paraloc^.def:=get_paraloc_def(paradef,paralen,firstparaloc);
if paradef.typ<>orddef then
paracgsize:=int_cgsize(paralen);
if paracgsize=OS_NO then
paraloc^.size:=OS_INT
else
paraloc^.size:=paracgsize;
if (side = callerside) then
paraloc^.reference.index:=NR_STACK_POINTER_REG
else
paraloc^.reference.index:=NR_FRAME_POINTER_REG;
paraloc^.reference.offset:=stack_offset;
inc(stack_offset,align(paralen,4));
paralen := 0;
firstparaloc:=false;
end;
end;
result:=stack_offset;
// writeln('stack offset:',stack_offset);
end;
{
if push_addr_param(hp.varspez,paradef,p.proccalloption) then
paracgsize:=OS_ADDR
else
begin
paracgsize:=def_cgsize(paradef);
if paracgsize=OS_NO then
paracgsize:=OS_ADDR;
end;
hp.paraloc[side].size:=paracgsize;
hp.paraloc[side].Alignment:=std_param_align;
paraloc:=hp.paraloc[side].add_location;
paraloc^.size:=paracgsize;
paraloc^.loc:=LOC_REFERENCE;
if side=callerside then
paraloc^.reference.index:=NR_STACK_POINTER_REG
else
paraloc^.reference.index:=NR_FRAME_POINTER_REG;
paraloc^.reference.offset:=target_info.first_parm_offset+parasize;
end;
create_funcretloc_info(p,side);
result:=parasize;
end;
}
function tm68kparamanager.parse_loc_string_to_register(var locreg: tregister; const s : string): boolean;
begin
locreg:=std_regnum_search(lowercase(s));
@ -516,10 +379,7 @@ unit cpupara;
procedure tm68kparamanager.createtempparaloc(list: TAsmList;calloption : tproccalloption;parasym : tparavarsym;can_use_final_stack_loc : boolean;var cgpara:TCGPara);
var
paraloc : pcgparalocation;
begin
paraloc:=parasym.paraloc[callerside].location;
{ Never a need for temps when value is pushed (calls inside parameters
will simply allocate even more stack space for their parameters) }
if not(use_fixed_stack) then