jump: Also handle jumps wrapped in UNSPEC or UNSPEC_VOLATILE
VAX has interlocked branch instructions used for atomic operations and
we want to have them wrapped in UNSPEC_VOLATILE so as not to have code
carried across. This however breaks with jump optimization and leads
to an ICE in the build of libbacktrace like:
when those branches are enabled with a follow-up change. Also showing
with:
FAIL: gcc.dg/pr61756.c (internal compiler error)
Handle branches wrapped in UNSPEC_VOLATILE then and, for consistency,
also in UNSPEC. The presence of UNSPEC_VOLATILE will prevent such
branches from being removed as they won't be accepted by `onlyjump_p',
we just need to let them through.
gcc/
* jump.c (pc_set): Also accept a jump wrapped in UNSPEC or
UNSPEC_VOLATILE.
(any_uncondjump_p, any_condjump_p): Update comment accordingly.