This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Higher level RTL issues

<snip the rest, for various reasons, i'm not going to reply>

> I'll have to show you an example where you do need renaming to perform
> relatively simple redundancy elimination problems that are found by any
> reasonable value numbering scheme.
Please, do.
Any updating you'd have to do to def-use chains in tree-ssa, you'd have 
to do in the explicitly renamed version.
If you have to at all, which you don't in reasonable value numbering 
Take dominator based value numbering, for instance.
It's explicitly computing which expressions are dominated by expressions 
that compute the same value.
It then removes the extra computations, and rewrites uses of them to use 
the original computations.
Where's the renaming needed?
SCC based value numbering is the same way.
Nowhere do you insert *new* computations of a value.
In fact, nowhere in any normal redundancy elimination problem do you 
insert new computations of values, only partial redundancy problems.

The only reason we do it now in some cases is because RTL effectively 
requires us to, in some cases.
Doing it at the tree SSA level, for instance, has no such problem.
I.E. It's not a FUD-chain problem, it's an RTL-SSA problem.

> jeff

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]