Hi Richard,
Thanks for getting back to me and your insight. I've implemented a
TARGET_CANNOT_COPY_INSN_P that rejects volatile memory and it appears to be
doing the trick!
It will take some time to determine if there are any other side effects but
I can move forward with this. Much appreciated!
Tucker Kern via Gcc writes:
> TL;DR
>
> In GCC 9.3, I believe modified_between_p should return 1 if the memory
> reference is volatile. My layman's understanding of volatile memory is that
> it could change at any time, and thus could be modified between any two
> instructions.
That's true, but i
TL;DR
In GCC 9.3, I believe modified_between_p should return 1 if the memory
reference is volatile. My layman's understanding of volatile memory is that
it could change at any time, and thus could be modified between any two
instructions.
Possible patch:
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c