mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-05 21:10:24 +02:00
* skip temp (de)allocs when looking for store/regdealloc/load and
regalloc/regdealloc sequences git-svn-id: trunk@31454 -
This commit is contained in:
parent
cd83bc35b6
commit
51864b0458
@ -181,8 +181,8 @@ implementation
|
|||||||
and remove. We don't have to check that the load/store
|
and remove. We don't have to check that the load/store
|
||||||
types match, because they have to for this to be
|
types match, because they have to for this to be
|
||||||
valid JVM code }
|
valid JVM code }
|
||||||
dealloc:=nextskipping(p,[ait_comment]);
|
dealloc:=nextskipping(p,[ait_comment,ait_tempalloc]);
|
||||||
load:=nextskipping(dealloc,[ait_comment]);
|
load:=nextskipping(dealloc,[ait_comment,ait_tempalloc]);
|
||||||
reg:=NR_NO;
|
reg:=NR_NO;
|
||||||
if issimpleregstore(p,reg,true) and
|
if issimpleregstore(p,reg,true) and
|
||||||
isregallocoftyp(dealloc,ra_dealloc,reg) and
|
isregallocoftyp(dealloc,ra_dealloc,reg) and
|
||||||
@ -215,7 +215,7 @@ implementation
|
|||||||
ait_regalloc:
|
ait_regalloc:
|
||||||
begin
|
begin
|
||||||
reg:=NR_NO;
|
reg:=NR_NO;
|
||||||
next:=nextskipping(p,[ait_comment]);
|
next:=nextskipping(p,[ait_comment,ait_tempalloc]);
|
||||||
nextnext:=nextskipping(next,[ait_comment,ait_regalloc]);
|
nextnext:=nextskipping(next,[ait_comment,ait_regalloc]);
|
||||||
if assigned(nextnext) then
|
if assigned(nextnext) then
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user