Thursday, June 27, 2002

http://gcc.gnu.org/ml/gcc-patches/2002-04/msg01702.html

This patch adds SSAPRE for Tree-SSA. I'll work more on it after finals
(May 10th is when they end).

The only real issues are that it doesn't
1. Insert reload statements that conform to SIMPLE (easy to fix, will do
after finals). Rather than transform
e = a + b
into
T.1 = a + b
e = T.1

It does
e = T.1 = a + b

2. Keep the SSA form valid (easy to fix, will do after finals).


I'll also add strength reduction after finals, as it's very easy to do as
well.

I'll comment it better (though the routines correspond directly with the
algorithms in http://citeseer.nj.nec.com/correct/399268) after finals as
well.

I'll also probably split exprref's out of varrefs after finals as well.


When C++/Java support for tree-ssa is added/finished, we'll want to add
code to prevent hoisting into exception regions.