Preventing scheduling of normal operations across calls to built-ins
Ian Lance Taylor
iant@google.com
Tue Feb 21 16:29:00 GMT 2012
Mohamed Shafi <shafitvm@gmail.com> writes:
> When you say UNSPEC_VOLATILE doesn't prevent instructions from moving,
> do you mean to say that such patterns will get reordered by the
> scheduler?
In general the instruction scheduler will not move instructions across
UNSPEC_VOLATILE instructions. But the combiner will. And the scheduler
implements scheduling barriers by inserting dependencies. An
instruction which does not refer to registers or memory and is not
itself UNSPEC_VOLATILe does not have any dependencies, and I'm not sure
what the scheduler will do with it.
Ian
More information about the Gcc-help
mailing list