Explorar o código

Mark all integer registers as volatile.

git-svn-id: trunk@22747 -
svenbarth %!s(int64=12) %!d(string=hai) anos
pai
achega
75baec5985
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  1. 7 0
      compiler/m68k/cpupara.pas

+ 7 - 0
compiler/m68k/cpupara.pas

@@ -49,6 +49,7 @@ unit cpupara;
           function create_varargs_paraloc_info(p : tabstractprocdef; varargspara:tvarargsparalist):longint;override;
           function parseparaloc(p : tparavarsym;const s : string) : boolean;override;
           function parsefuncretloc(p : tabstractprocdef; const s : string) : boolean;override;
+          function get_volatile_registers_int(calloption:tproccalloption):tcpuregisterset;override;
          private
           procedure init_values(var curintreg, curfloatreg: tsuperregister; var cur_stack_offset: aword);
           function create_paraloc_info_intern(p : tabstractprocdef; side: tcallercallee; paras: tparalist;
@@ -469,6 +470,12 @@ unit cpupara;
         end;
       end;
 
+    function tm68kparamanager.get_volatile_registers_int(calloption:tproccalloption):tcpuregisterset;
+      begin
+        { for now we set all int registers as volatile }
+        Result:=[RS_D0..RS_D7];
+      end;
+
 
     function tm68kparamanager.parseparaloc(p : tparavarsym;const s : string) : boolean;
       var