[Bug target/65496] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2318 with -O3 -fsched2-use-superblocks -mavx512dq --param=max-pending-list-length=0
rth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 23 15:57:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65496
--- Comment #3 from Richard Henderson <rth at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> Richard, any thoughts what to do about this? Avoid scheduling frame related
> instructions across conditional jumps? Something else?
Yes, for the short term that will have to be a requirement in order to
keep the unwind info happy.
Something for the next stage1 is
(1) Avoiding the use of bare /f, and thus also REG_FRAME_RELATED_EXPR,
using instead always REG_CFA_*. I suspect that this insn 620 shouldn't
actually be frame related at all, but is a part of a larger dwarf
expression we're intending to construct.
(2) Once we have an unambiguous note for everything, we can allow these
insns to be scheduled across a conditional jump if we strip and collect
those notes and place them after the conditional jump, probably on a
fake insn like
(insn/f (use (const_int 0))
(expr-list:REG_CFA_...
(expr-list:REG_CFA_...
(expr-list:REG_CFA_...))))
More information about the Gcc-bugs
mailing list