extra instructions lost from -O0 to -O1
Steven Bosscher
stevenb.gcc@gmail.com
Thu Sep 11 13:39:00 GMT 2008
On Thu, Sep 11, 2008 at 10:38 AM, Thomas A.M. Bernard <t.bernard@uva.nl> wrote:
> Hi,
>
> I inserted some extra instructions in the Alpha back-end (MD files). They
> are properly emitted when the flag -O0 is enabled. Since they have no side
> effects and no dependencies on other instructions, they are omitted when
> flag -O1 is engaged. Is there a way (I mean attribute/constraint in their MD
> patterns) to avoid that and keep the extra instructions in any case ?
Depends on how you modeled your instructions. You could use
unspec_volatile, but if you modeled "normal" instructions, you have to
somehow make the side-effects of your instructions clear. Otherwise,
dead code elimination will just remove the instructions (no
dependencies -> dead).
But you'd have to show what you're doing and what you're trying to
achieve, exactly, for a more helpful answer ;-)
Gr.
Steven
More information about the Gcc
mailing list