Suppose an backend implements some unspec_volatile (UV) and has a
destinct understanding of what it should be.
If other parts of the compiler don't know exactly what to do, it's a
potential source of trouble.
- "May I schedule across the unspec_volatile (UV) or not?"
- "May I move the UV from one BB into an other"
- "May I doublicate UVs or reduce them?" (unrolling, ...)
That kind of questions.
If there is no clear statement/specification, we have a problem and a
déja vu of the too well known unspecified/undefined/implementation
defined like
i = i++
but now within the compiler, for instance between backend and middle end.