* updated comments to reflect latest changes to cse

git-svn-id: trunk@22054 -
This commit is contained in:
florian 2012-08-09 20:18:04 +00:00
parent a43d433081
commit 1c2ed53735

View File

@ -1,7 +1,7 @@
{
Common subexpression elimination on base blocks
Copyright (c) 2005 by Florian Klaempfl
Copyright (c) 2005-2012 by Florian Klaempfl
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -34,13 +34,9 @@ unit optcse;
{
the function creates non optimal code so far:
- call para nodes are cse barriers because they can be reordered and thus the
temp. creation can be done too late
- cse's in chained expressions are not recognized: the common subexpression
in (a1 and b and c) vs. (a2 and b and c) is not recognized because there is no common
subtree b and c
temp. creation could be done too late
- the cse knows nothing about register pressure. In case of high register pressure, cse might
have a negative impact
- assignment nodes are currently cse borders: things like a[i,j]:=a[i,j]+1; are not improved
- the list of cseinvariant node types and inline numbers is not complete yet
Further, it could be done probably in a faster way though the complexity can't probably not reduced
@ -123,7 +119,6 @@ unit optcse;
result:=fen_norecurse_false;
exit;
end;
{ so far, we can handle only nodes being read }
if
{ node possible to add? }
assigned(n.resultdef) and