This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/78459] [7/8 Regression] [SH] ICE in maybe_record_trace_start building glibc string tests


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

--- Comment #7 from Jeffrey A. Law <law at redhat dot com> ---
So I've got a patch for the h8 instance of this problem.  I'll have to see if I
can reproduce the various SH instances and backtest my patch against them.

The situation we were running into was generic code was creating something like

(set (temp) (plus (stack_pointer_rtx) (const)))
(set (stack_pointer_rtx) (temp)  REG_ARGS_SIZE note)

CSE's back propagation would backprop stack_pointer_rtx for temp in the first
insn, the second insn is dead and gets removed.  The result is we lost the
REG_ARGS_SIZE note.  The obvious solution is to move the note during the back
propagation.

My tester has run that through a newlib build on the h8.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]