volatile access optimization (C++ / x86_64)

DJ Delorie dj@redhat.com
Mon Jan 5 18:25:00 GMT 2015


> What is involved with the auditing?

Each pattern that (directly or indirectly) uses general_operand,
memory_operand, or nonimmediate_operand needs to be checked to see if
it's volatile-safe.  If so, you need to change the predicate to
something that explicitly accepts volatiles.

There's been talk about adding direct support for a "volatile-clean"
flag that avoids this for targets where you know it's correct, which
bypasses the volatile check in those functions, but it hasn't happened
yet.



More information about the Gcc mailing list