On 06/26/2015 08:57 AM, Richard Biener wrote:
Another possibility is to not share them and make sure to insert clobbers for
them when they become dead so later stack slot sharing can merge them again.
We've certainly had cases in the past where re-using a stack slot for an
object that has gone out of scope for some other object in a different
scope with a different type are not seen as conflicting by the aliasing
machinery in the past resulting in incorrect code motions.
Creating distinct scratchpads and letting the existing machinery (which
has been fixed to deal with the issues noted above I believe) would make
more sense than trying to reimplement the sharing correctness stuff
within if-conversion.
jeff