Browse Source

Mark all integer registers as volatile.

git-svn-id: trunk@22747 -
svenbarth 12 years ago
parent
commit
75baec5985
1 changed files with 7 additions and 0 deletions
  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 create_varargs_paraloc_info(p : tabstractprocdef; varargspara:tvarargsparalist):longint;override;
           function parseparaloc(p : tparavarsym;const s : string) : boolean;override;
           function parseparaloc(p : tparavarsym;const s : string) : boolean;override;
           function parsefuncretloc(p : tabstractprocdef; const s : string) : boolean;override;
           function parsefuncretloc(p : tabstractprocdef; const s : string) : boolean;override;
+          function get_volatile_registers_int(calloption:tproccalloption):tcpuregisterset;override;
          private
          private
           procedure init_values(var curintreg, curfloatreg: tsuperregister; var cur_stack_offset: aword);
           procedure init_values(var curintreg, curfloatreg: tsuperregister; var cur_stack_offset: aword);
           function create_paraloc_info_intern(p : tabstractprocdef; side: tcallercallee; paras: tparalist;
           function create_paraloc_info_intern(p : tabstractprocdef; side: tcallercallee; paras: tparalist;
@@ -469,6 +470,12 @@ unit cpupara;
         end;
         end;
       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;
     function tm68kparamanager.parseparaloc(p : tparavarsym;const s : string) : boolean;
       var
       var