Quellcode durchsuchen

- many emitXXX removed from cga.pas in order to remove that file.

mazen vor 23 Jahren
Ursprung
Commit
33b405859b
3 geänderte Dateien mit 30 neuen und 85 gelöschten Zeilen
  1. 4 65
      compiler/sparc/cga.pas
  2. 17 14
      compiler/sparc/cgcpu.pas
  3. 9 6
      compiler/sparc/ncpuadd.pas

+ 4 - 65
compiler/sparc/cga.pas

@@ -23,22 +23,9 @@ interface
 uses
   cpuinfo,cpubase,cginfo,
   symconst,symtype,symdef,aasmbase,aasmtai,aasmcpu;
-{$define TESTGETTEMP to store const that are written into temps for later release PM }
 function def_opsize(p1:tdef):topsize;
 function def_getreg(p1:tdef):tregister;
 procedure emitjmp(c:tasmcond;var l:tasmlabel);
-procedure emit_none(i:tasmop;s:topsize);
-procedure emit_const(i:tasmop;s:topsize;c:longint);
-procedure emit_reg(i:tasmop;s:topsize;reg:tregister);
-procedure emit_ref(i:tasmop;s:topsize;const ref:treference);
-procedure emit_const_reg(i:tasmop;s:topsize;c:longint;reg:tregister);
-procedure emit_const_ref(i:tasmop;s:topsize;c:longint;const ref:treference);
-procedure emit_ref_reg(i:tasmop;s:topsize;const ref:treference;reg:tregister);
-procedure emit_reg_ref(i:tasmop;s:topsize;reg:tregister;const ref:treference);
-procedure emit_reg_reg(i:tasmop;s:topsize;reg1,reg2:tregister);
-procedure emit_const_reg_reg(i:tasmop;s:topsize;c:longint;reg1,reg2:tregister);
-procedure emit_reg_reg_reg(i:tasmop;s:topsize;reg1,reg2,reg3:tregister);
-procedure emit_sym(i:tasmop;s:topsize;op:tasmsymbol);
 implementation
 uses
   cutils,
@@ -81,61 +68,13 @@ procedure emitjmp(c:tasmcond;var l:tasmlabel);
     ai.is_jmp:=true;
     exprasmList.concat(ai);
   end;
-procedure emit_none(i:tasmop;s:topsize);
-  begin
-    exprasmList.concat(Taicpu.Op_none(i));
-  end;
-procedure emit_reg(i:tasmop;s:topsize;reg:tregister);
-  begin
-    exprasmList.concat(Taicpu.Op_reg(i,reg));
-  end;
-procedure emit_ref(i:tasmop;s:topsize;const ref:treference);
-  begin
-    exprasmList.concat(Taicpu.Op_ref(i,ref));
-  end;
-procedure emit_const(i:tasmop;s:topsize;c:longint);
-  begin
-    exprasmList.concat(Taicpu.Op_const(i,aword(c)));
-  end;
-procedure emit_const_reg(i:tasmop;s:topsize;c:longint;reg:tregister);
-  begin
-    exprasmList.concat(Taicpu.Op_const_reg(i,aword(c),reg));
-  end;
-procedure emit_const_ref(i:tasmop;s:topsize;c:longint;const ref:treference);
-  begin
-    //exprasmList.concat(Taicpu.Op_const_ref(i,s,aword(c),ref));
-		InternalError(2002102102);
-  end;
-procedure emit_ref_reg(i:tasmop;s:topsize;const ref:treference;reg:tregister);
-  begin
-    exprasmList.concat(Taicpu.Op_ref_reg(i,ref,reg));
-  end;
-procedure emit_reg_ref(i:tasmop;s:topsize;reg:tregister;const ref:treference);
-  begin
-    exprasmList.concat(Taicpu.Op_reg_ref(i,reg,ref));
-  end;
-procedure emit_reg_reg(i:tasmop;s:topsize;reg1,reg2:tregister);
-  begin
-    if reg1<>reg2
-    then
-      exprasmList.concat(Taicpu.Op_reg_reg(i,reg1,reg2));
-  end;
-procedure emit_const_reg_reg(i:tasmop;s:topsize;c:longint;reg1,reg2:tregister);
-  begin
-    exprasmList.concat(Taicpu.Op_reg_const_reg(i,reg1,c,reg2));
-  end;
-procedure emit_reg_reg_reg(i:tasmop;s:topsize;reg1,reg2,reg3:tregister);
-  begin
-    exprasmList.concat(Taicpu.Op_reg_reg_reg(i,reg1,reg2,reg3));
-  end;
-procedure emit_sym(i:tasmop;s:topsize;op:tasmsymbol);
-  begin
-    exprasmList.concat(Taicpu.Op_sym(i,s,op));
-  end;
 end.
 {
   $Log$
-  Revision 1.5  2002-11-10 19:07:46  mazen
+  Revision 1.6  2002-12-25 20:59:49  mazen
+  - many emitXXX removed from cga.pas in order to remove that file.
+
+  Revision 1.5  2002/11/10 19:07:46  mazen
   * SPARC calling mechanism almost OK (as in GCC./mppcsparc )
 
   Revision 1.4  2002/11/06 11:31:24  mazen

+ 17 - 14
compiler/sparc/cgcpu.pas

@@ -108,20 +108,20 @@ USES
   rgobj,tgobj,rgcpu,cpupi;
     { we implement the following routines because otherwise we can't }
     { instantiate the class since it's abstract                      }
-procedure tcgSPARC.a_param_reg(list:TAasmOutput;size:tcgsize;r:tregister;CONST LocPara:TParaLocation);
-  BEGIN
-    IF(Size<>OS_32)AND(Size<>OS_S32)
-    THEN
+procedure tcgSPARC.a_param_reg(list:TAasmOutput;size:tcgsize;r:tregister;const LocPara:TParaLocation);
+  begin
+    if(Size<>OS_32)and(Size<>OS_S32)
+    then
       InternalError(2002032212);
-                with list,LocPara do
-                  case Loc of
-                          LOC_REGISTER:
-                        if r<>Register
-                                        then
-                                                Concat(taicpu.op_Reg_Reg_Reg(A_OR,r,R_G0,Register));
-                                else
-                                  InternalError(2002101002);
-                        end;
+    with list,LocPara do
+      case Loc of
+        LOC_REGISTER:
+          if r<>Register
+          then
+            Concat(taicpu.op_Reg_Reg_Reg(A_OR,r,R_G0,Register));
+        else
+          InternalError(2002101002);
+      end;
   end;
 procedure tcgSPARC.a_param_const(list:TAasmOutput;size:tcgsize;a:aword;CONST LocPara:TParaLocation);
   var
@@ -1334,7 +1334,10 @@ BEGIN
 END.
 {
   $Log$
-  Revision 1.28  2002-12-22 19:26:31  mazen
+  Revision 1.29  2002-12-25 20:59:49  mazen
+  - many emitXXX removed from cga.pas in order to remove that file.
+
+  Revision 1.28  2002/12/22 19:26:31  mazen
   * many internal errors related to unimplemented nodes are fixed
 
   Revision 1.27  2002/12/21 23:21:47  mazen

+ 9 - 6
compiler/sparc/ncpuadd.pas

@@ -291,7 +291,7 @@ procedure TSparcAddNode.emit_generic_code(op:TAsmOp;OpSize:TOpSize;unsigned,extr
           begin
             if extra_not
             then
-              emit_reg(A_NOT,S_L,left.location.register);
+              exprasmList.concat(Taicpu.Op_reg(A_NOT,left.location.register));
             exprasmList.concat(Taicpu.Op_reg_reg_reg(Op,right.location.register,left.location.register,right.location.register));
             { newly swapped also set swapped flag }
             location_swap(left.location,right.location);
@@ -301,7 +301,7 @@ procedure TSparcAddNode.emit_generic_code(op:TAsmOp;OpSize:TOpSize;unsigned,extr
           begin
             if extra_not
             then
-              emit_reg(A_NOT,S_L,right.location.register);
+              exprasmList.concat(Taicpu.Op_reg(A_NOT,right.location.register));
            // emit_reg_reg(op,opsize,right.location.register,left.location.register);
             exprasmList.concat(Taicpu.Op_reg_reg_reg(Op,right.location.register,left.location.register,right.location.register));
           end;
@@ -314,7 +314,7 @@ procedure TSparcAddNode.emit_generic_code(op:TAsmOp;OpSize:TOpSize;unsigned,extr
           begin
             IF extra_not
             THEN
-              emit_reg(A_NOT,opsize,left.location.register);
+              exprasmList.concat(Taicpu.Op_reg(A_NOT,left.location.register));
 //          rg.getexplicitregisterint(exprasmlist,R_EDI);
 //          cg.a_load_loc_reg(exprasmlist,right.location,R_EDI);
 //          emit_reg_reg(op,opsize,left.location.register,R_EDI);
@@ -338,12 +338,12 @@ procedure TSparcAddNode.emit_generic_code(op:TAsmOp;OpSize:TOpSize;unsigned,extr
             ELSE IF(op=A_SUB)AND(right.location.loc=LOC_CONSTANT)AND(right.location.value=1)AND NOT(cs_check_overflow in aktlocalswitches)
             THEN
               begin
-                emit_reg(A_DEC,opsize,left.location.register);
+                exprasmList.concat(Taicpu.Op_reg(A_DEC,left.location.register));
               end
             ELSE IF(op=A_SMUL)AND(right.location.loc=LOC_CONSTANT)AND(ispowerof2(right.location.value,power))AND NOT(cs_check_overflow in aktlocalswitches)
             THEN
               begin
-                emit_const_reg(A_SLL,opsize,power,left.location.register);
+                exprasmList.concat(Taicpu.Op_const_reg(A_SLL,power,left.location.register));
               end
             ELSE
               begin
@@ -558,7 +558,10 @@ begin
 end.
 {
     $Log$
-    Revision 1.2  2002-12-22 19:26:32  mazen
+    Revision 1.3  2002-12-25 20:59:49  mazen
+    - many emitXXX removed from cga.pas in order to remove that file.
+
+    Revision 1.2  2002/12/22 19:26:32  mazen
     * many internal errors related to unimplemented nodes are fixed
 
     Revision 1.1  2002/12/21 23:21:47  mazen