This is the mail archive of the gcc@gcc.gnu.org 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]
Other format: [Raw text]

Re: [tree-ssa] copy prop vs. debugging


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




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