+ TDFABuilder.redodfainfo

This commit is contained in:
florian 2021-10-22 22:39:23 +02:00
parent 12a2c56461
commit d0fdda6da7
2 changed files with 11 additions and 10 deletions

View File

@ -45,6 +45,7 @@ unit optdfa;
procedure resetdfainfo(node : tnode);
procedure createdfainfo(node : tnode);
procedure redodfainfo(node : tnode);
destructor destroy;override;
end;
@ -659,6 +660,14 @@ unit optdfa;
end;
procedure TDFABuilder.redodfainfo(node: tnode);
begin
resetdfainfo(node);
createdfainfo(node);
include(current_procinfo.flags,pi_dfaavailable);
end;
destructor TDFABuilder.Destroy;
begin
Resultnode.free;

View File

@ -1218,11 +1218,7 @@ implementation
end;
if RedoDFA then
begin
dfabuilder.resetdfainfo(code);
dfabuilder.createdfainfo(code);
include(flags,pi_dfaavailable);
end;
dfabuilder.redodfainfo(code);
if cs_opt_forloop in current_settings.optimizerswitches then
RedoDFA:=OptimizeForLoop(code);
@ -1230,11 +1226,7 @@ implementation
RedoDFA:=ConvertForLoops(code) or RedoDFA;
if RedoDFA then
begin
dfabuilder.resetdfainfo(code);
dfabuilder.createdfainfo(code);
include(flags,pi_dfaavailable);
end;
dfabuilder.redodfainfo(code);
{ when life info is available, we can give more sophisticated warning about uninitialized
variables ...