* fixed dfa for raise nodes

git-svn-id: trunk@8155 -
This commit is contained in:
florian 2007-07-23 20:22:36 +00:00
parent 89eddc7504
commit a2ac6c698d

View File

@ -411,10 +411,7 @@ unit optdfa;
raisen: raisen:
begin begin
calclife(node); if not(assigned(node.optinfo^.life)) then
node.allocoptinfo;
if not(assigned(node.optinfo^.def)) and
not(assigned(node.optinfo^.use)) then
begin begin
dfainfo.use:=@node.optinfo^.use; dfainfo.use:=@node.optinfo^.use;
dfainfo.def:=@node.optinfo^.def; dfainfo.def:=@node.optinfo^.def;
@ -422,8 +419,12 @@ unit optdfa;
foreachnodestatic(pm_postprocess,traisenode(node).left,@AddDefUse,@dfainfo); foreachnodestatic(pm_postprocess,traisenode(node).left,@AddDefUse,@dfainfo);
foreachnodestatic(pm_postprocess,traisenode(node).right,@AddDefUse,@dfainfo); foreachnodestatic(pm_postprocess,traisenode(node).right,@AddDefUse,@dfainfo);
foreachnodestatic(pm_postprocess,traisenode(node).third,@AddDefUse,@dfainfo); foreachnodestatic(pm_postprocess,traisenode(node).third,@AddDefUse,@dfainfo);
{ update node }
l:=node.optinfo^.life;
DFASetIncludeSet(l,node.optinfo^.use);
UpdateLifeInfo(node,l);
printdfainfo(output,node);
end; end;
calclife(node);
end; end;
calln: calln: