Sfoglia il codice sorgente

Revert "m68k: utilize cg.a_loadaddr_ref_cgpara in hlcgcpu" for now, turns out it's not needed

Karoly Balogh 3 anni fa
parent
commit
59c33d69ab
2 ha cambiato i file con 3 aggiunte e 18 eliminazioni
  1. 2 0
      compiler/m68k/cgcpu.pas
  2. 1 18
      compiler/m68k/hlcgcpu.pas

+ 2 - 0
compiler/m68k/cgcpu.pas

@@ -413,9 +413,11 @@ unit cgcpu;
       var
         tmpref : treference;
       begin
+        { 68k always passes arguments on the stack }
         if use_push(cgpara) then
           begin
             //list.concat(tai_comment.create(strpnew('a_loadaddr_ref_cgpara: PEA')));
+            cgpara.check_simple_location;
             tmpref:=r;
             fixref(list,tmpref,false);
             list.concat(taicpu.op_ref(A_PEA,S_NO,tmpref));

+ 1 - 18
compiler/m68k/hlcgcpu.pas

@@ -34,7 +34,6 @@ interface
     aasmbase, aasmdata,
     cgbase, cgutils,
     symconst,symtype,symdef,
-    parabase,
     hlcg2ll;
 
   type
@@ -45,8 +44,6 @@ interface
       procedure a_bit_set_const_ref(list: TAsmList; doset: boolean; destsize: tdef; bitnumber: tcgint; const ref: treference); override;
       procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
 
-      procedure a_loadaddr_ref_cgpara(list: TAsmList; fromsize: tdef; const r: treference; const cgpara: TCGPara);override;
-
       procedure gen_load_loc_function_result(list: TAsmList; vardef: tdef; const l: tlocation);override;
     end;
 
@@ -59,7 +56,7 @@ implementation
     defutil,
     hlcgobj,
     cpuinfo, cgobj, cpubase, cgcpu,
-    paramgr, procinfo;
+    parabase, procinfo;
 
 
 
@@ -244,20 +241,6 @@ implementation
       List.concat(Tai_symbol_end.Createname(labelname));
     end;
 
-  procedure thlcgcpu.a_loadaddr_ref_cgpara(list: TAsmList; fromsize: tdef; const r: treference; const cgpara: TCGPara);
-    begin
-       cgpara.check_simple_location;
-       if cgpara.location^.loc in [LOC_CREGISTER,LOC_REGISTER] then
-         begin
-           paramanager.allocparaloc(list,cgpara.location);
-           a_loadaddr_ref_reg(list,fromsize,cgpara.location^.def,r,cgpara.location^.register)
-         end
-       else
-         begin
-           paramanager.alloccgpara(list,cgpara);
-           cg.a_loadaddr_ref_cgpara(list,r,cgpara);
-         end;
-    end;
 
   procedure thlcgcpu.gen_load_loc_function_result(list: TAsmList; vardef: tdef; const l: tlocation);
     var