Browse Source

* updated comments to reflect latest changes to cse

git-svn-id: trunk@22054 -
florian 13 years ago
parent
commit
1c2ed53735
1 changed files with 2 additions and 7 deletions
  1. 2 7
      compiler/optcse.pas

+ 2 - 7
compiler/optcse.pas

@@ -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