Missing qualifications
Paolo Carlini
pcarlini@suse.de
Thu Mar 10 15:05:00 GMT 2005
Hi Gaby and thanks for the interesting reply,
>Yes. One of curiosities of GCC ABI is insisting on allocating registers
>for values of empty classes and insisting on filling them with zero.
>Nobody cares about those values but GCC thinks it must issue useless
>loads and stores. GCC needs to be taught that nobody really cares
>about those values. And refrain from allocating registers for emmpty
>classes (but then you go into ABI breaking territory).
>
>start with EMPTY_CLASS_EXPR in cp/expr.c::cxx_expand_expr()
>
>
Argh! Therefore const0_rtx means a zeroed (pseudo) register.
>I would think that is a requirement for proper support for the kind of
>refactorying you're doing. Ask a middle-end expert how to annotate
>an expression nobody cares about.
>
>
Ok, let's think a bit more about this issue, humpf! Maybe, for the time
being
better not pushing this refactoring too far, then.
My idea would be submitting a PR about this, and wait a bit for
reactions. Indeed,
seems not too difficult, in principle, at least not zeroing that damn
register basing
on an annotation. And, hopefully, something downstream will recognize
that it's
not really used and will optimize it out.
Paolo.
More information about the Libstdc++
mailing list