https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106692

--- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> ---
> What do others think?

I am a bit unsure. Cray  pointers are weird and it is not quite clear how they
are used in real world code.

Your modification causes a missed optimization for code like:

  var = NULL
  if (var == NULL)

as the volatile not only prevents seeing this but also reloads the variable
instead of using the value in the register.

But as Cray pointers are weird, pointer checks are rare and volatile is
localized, it might actually be okay?

Reply via email to