This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: help needed on gcc instruction scheduling with unspec_volatile()
- From: Ian Lance Taylor <iant at google dot com>
- To: raja dot saleru at iap-online dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 02 Feb 2009 12:42:28 -0800
- Subject: Re: help needed on gcc instruction scheduling with unspec_volatile()
- References: <19732.210.143.35.14.1233570800.squirrel@www.iap-online.com>
raja.saleru@iap-online.com writes:
> In gcc, while instruction scheduling can it be possible to suspend the
> scheduling for some instructions ? or
No. You can turn off instruction scheduling for the entire
compilation. You can use #pragma GCC optimize to turn scheduling off
for a specific function. But there is no way to turn it off for some
instructions within a function but not others.
> Is there a way to make the instruction has to allocate to run without
> using the scheduler for particular instruction ?
I don't understand the question.
> Currently there is RTL template in machine description unspec_volatile().
> If the instruction is scheduled using this, does this make the instruction
> out of scope of scheduler ?
Nothing is out of scope of the scheduler. Using unspec_volatile in
the RTL template makes the instruction a scheduling barrier and a
memory barrier.
Ian