Volatile Memory accesses in Branch Delay Slots
Eric Botcazou
ebotcazou@adacore.com
Tue Jul 25 11:38:00 GMT 2017
> The function responsible for this behavior seems to be
> resource_conflicts_p in reorg.c. Sadly, I could not find any comments
> explaining why volatile accesses cannot be put into delay slots.
>
> What is the reason for this behavior? I am unable to think of any
> situation where allowing volatile memory accesses in branch delay slots
> leads to problems. Am I missing a case? Or are negative effects limited
> to other architectures?
Delay slot filling is a code movement optimization and such optimizations are
not valid for volatile memory accesses in the general case.
--
Eric Botcazou
More information about the Gcc
mailing list