Thanks for the quick response. As it turns out, the libcall issue will
soon be gone, as bonzini will be deleting them. We have finally
overcome that issue.
Not really. There seems always to be something that prevents them from
being deleted, and I have no time to spend on GCC at work right now. I
believe Steven Bosscher has more detail on that than I do.
But I don't think that they influence birthpoints, which seems to be
just a way to factor use-def/def-use chains (yes, analogy with the name
of FUD chains is not by chance) without introducing phi functions. phi
operands would be a birthpoint's reaching defs, in practice, right?
I believe that what i am proposing is actually currently called (or at
least related to) factored use def chains,
FUD chains are basically SSA without subscripts -- and hence, without
overlapping live ranges.
Ian is right, subregs were a problem (and strict_low_part). I don't
recall offhand if it was "normal" subregs or paradoxicals (or both)
that caused pain.
I doubt paradoxical subregs cause any pain.
I haven't looked at the PR in question, but you could probably punt
SUBREGs and get the benefits you want for real code on most ports.
Yes, someone can (and probably will) contrive an example which does
the same thing as your problem PR, but which is littered with SUBREGs
in all the "right" places. But the question I think we have to ask at
that point is whether or not such code is something we absolutely have
to worry about from a compile-time or optimization standpoint.
Agreed.
Paolo