[tree-ssa] copy prop vs. debugging
law@redhat.com
law@redhat.com
Fri Jul 11 00:28:00 GMT 2003
In message <1057760521.29596.29.camel@p4>, Andrew MacLeod writes:
>I can do that when I add the stack-space reduction pass to the
>SSA->normal coalescer. Ie, when I try to merge various non-conflicting
>temporaries of the same type into a single variable. You certainly want
>to prioritize it to merge any which have a copy first (so we can
>eliminate the copy), and it should be simple enough to choose a user var
>over a compiler temporary to represent the merged location in those
>cases.
I looked at this pretty briefly. But it seems to me that:
What I was thinking about was:
1. Do all the coalescing we do now as-is. Basically meaning that we
try to coalesce renamed variables back to their root.
2. For each pair of objects that appears in a copy or in a PHI node
try to coalesce them (since they're copies or potential copies).
3. Try to coalesce unrelated temporaries of the same time to reduce
the number of temporaries we use.
>Does that also mean I shouldn't merge temporaries with user variables if
>there is not a copy?
Unsure. I think you should definitely merge them if they have a real
copy or a potential copy via a PHI node. When I was playing with Jason's
stuff (which uses a lot more temporaries) we end up with a lot of copies
between user vars and temp vars.
Jeff
More information about the Gcc
mailing list