Răsfoiți Sursa

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

git-svn-id: trunk@28070 -
sergei 11 ani în urmă
părinte
comite
3ffa32a660
1 a modificat fișierele cu 23 adăugiri și 163 ștergeri
  1. 23 163
      compiler/m68k/cpupara.pas

+ 23 - 163
compiler/m68k/cpupara.pas

@@ -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