소스 검색

+ added uses_registers overloaded method for sparc

mazen 21 년 전
부모
커밋
247effd0cc
1개의 변경된 파일21개의 추가작업 그리고 1개의 파일을 삭제
  1. 21 1
      compiler/sparc/cgcpu.pas

+ 21 - 1
compiler/sparc/cgcpu.pas

@@ -52,6 +52,7 @@ interface
         procedure do_register_allocation(list:Taasmoutput;headertai:tai);override;
         procedure allocexplicitregisters(list:Taasmoutput;rt:Tregistertype;r:Tcpuregisterset);override;
         procedure deallocexplicitregisters(list:Taasmoutput;rt:Tregistertype;r:Tcpuregisterset);override;
+        function  uses_registers(rt:Tregistertype):boolean;override;
         { sparc special, needed by cg64 }
         procedure handle_load_store(list:taasmoutput;isstore:boolean;op: tasmop;reg:tregister;ref: treference);
         procedure handle_reg_const_reg(list:taasmoutput;op:Tasmop;src:tregister;a:aword;dst:tregister);
@@ -336,6 +337,22 @@ implementation
       end;
 
 
+
+    function  TCgSparc.uses_registers(rt:Tregistertype):boolean;
+      begin
+        case rt of
+          R_INTREGISTER :
+            result:=rgint.uses_registers;
+          R_MMREGISTER  :
+            result:=false;
+          R_FPUREGISTER :
+            result:=rgfpu.uses_registers;
+          else
+            internalerror(2003120900);
+        end;
+      end;
+
+
     procedure tcgsparc.add_move_instruction(instr:Taicpu);
       begin
         rgint.add_move_instruction(instr);
@@ -1216,7 +1233,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.72  2003-10-29 15:18:33  mazen
+  Revision 1.73  2003-12-09 09:44:22  mazen
+  + added uses_registers overloaded method for sparc
+
+  Revision 1.72  2003/10/29 15:18:33  mazen
   + added fake MM Registers support because of generic code need it.
 
   Revision 1.71  2003/10/24 15:20:37  peter