On 3/4/08 1:53 PM, Steven Bosscher wrote:
So, from an implementation, would we make PHI-like UD-chains to nop insns that represent the birth points, or would we actually add PHI functions and let the "normal" UD-chains point to the PHI function arguments?
Why put them in the IL stream at all? All you need is to have these factoring devices in the DF web. It really doesn't need to be part of the IL stream.
Both PHIs and birthpoints are merely factoring devices that let you cut down the number of UD links. They don't need to be part of the IL, much like none of the DF objects are part of the RTL IL.
What about keeping things up-to-date after applying some transformations? It is already hard to keep UD/DU chains up-to-date now (I don't think any pass successfully does so right now). This should be a lot easier if you fully factorize your UD chains, right?
In theory, yes. Code for keeping these things up-to-date already exists in GIMPLE SSA.
Diego.