summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-06 23:30:31 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-06 23:30:31 +0000
commitd4b91d9d6fa8df0e8b8c68b47c88ecfbbc3896dc (patch)
tree7abda5b3f104673811b8e999f763c4a5c537a896 /gcc
parent6fcf3e75bc0e20b04e25027d3c2de5eaa00d846d (diff)
downloadppe42-gcc-d4b91d9d6fa8df0e8b8c68b47c88ecfbbc3896dc.tar.gz
ppe42-gcc-d4b91d9d6fa8df0e8b8c68b47c88ecfbbc3896dc.zip
Update LCM stuff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27386 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/PROJECTS16
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/PROJECTS b/gcc/PROJECTS
index 6ff7a0557b0..80f7967522d 100644
--- a/gcc/PROJECTS
+++ b/gcc/PROJECTS
@@ -33,16 +33,12 @@ Haifa scheduler (haifa-sched.c, loop.[ch], unroll.[ch], genattrtab.c):
Improvements to global cse and partial redundancy elimination:
-The current implementation of global cse uses partial redundancy elimination
-as described in Chow's thesis.
-
-Long term we want to use lazy code motion as the basis for partial redundancy
-elimination. lcm will find as many (or more) redunancies *and* it will
-place the remaining computations at computationally optimal placement points
-within the function. This reduces the number of redundant operations performed
-as well as reducing register lifetimes. My experiments have shown that the
-cases were the current PRE code hurts performance are greatly helped by using
-lazy code motion.
+The current implementation of global cse uses a lazy code motion algorithm
+from Muchnick's "Advanced Compiler Design and Implementation".
+
+Longer term we want to convert to an edge based LCM algorithm using the
+new structures defined by flow.c. This allows for better expression
+placement and provides edge splitting "for free".
lcm also provides the underlying framework for several additional optimizations
such as shrink wrapping, spill code motion, dead store elimination, and generic
OpenPOWER on IntegriCloud