2
0
Эх сурвалжийг харах

* also emit a tai_varloc() when regvars are initially assigned
o removed separate writing of the local variable/parameter location from
psub, as that is now triggered by thise tai_varloc

git-svn-id: trunk@34084 -

Jonas Maebe 9 жил өмнө
parent
commit
cd5817a689

+ 11 - 0
compiler/ncgutil.pas

@@ -690,6 +690,7 @@ implementation
     procedure gen_alloc_regvar(list:TAsmList;sym: tabstractnormalvarsym; allocreg: boolean);
       var
         usedef: tdef;
+        varloc: tai_varloc;
       begin
         if allocreg then
           begin
@@ -762,6 +763,16 @@ implementation
 {$endif}
              cg.a_reg_sync(list,sym.initialloc.register);
           end;
+{$ifdef cpu64bitalu}
+        if (sym.initialloc.size in [OS_128,OS_S128]) then
+          varloc:=tai_varloc.create128(sym,sym.initialloc.register,sym.initialloc.registerhi)
+{$else cpu64bitalu}
+        if (sym.initialloc.size in [OS_64,OS_S64]) then
+          varloc:=tai_varloc.create64(sym,sym.initialloc.register,sym.initialloc.registerhi)
+{$endif cpu64bitalu}
+        else
+          varloc:=tai_varloc.create(sym,sym.initialloc.register);
+        list.concat(varloc);
         sym.localloc:=sym.initialloc;
       end;
 

+ 0 - 5
compiler/psub.pas

@@ -965,11 +965,6 @@ implementation
                  if (tabstractnormalvarsym(p).localloc.registerhi<>NR_NO) then
                    cg.translate_register(tabstractnormalvarsym(p).localloc.registerhi);
                end;
-             if cs_asm_source in current_settings.globalswitches then
-               begin
-                 TAsmList(list).concat(Tai_comment.Create(strpnew('Var '+tabstractnormalvarsym(p).realname+' located in register '+
-                   location_reg2string(tabstractnormalvarsym(p).localloc))));
-               end;
            end;
       end;