This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/78459] [7/8 Regression] [SH] ICE in maybe_record_trace_start building glibc string tests
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 12 Feb 2018 03:03:23 +0000
- Subject: [Bug target/78459] [7/8 Regression] [SH] ICE in maybe_record_trace_start building glibc string tests
- Auto-submitted: auto-generated
- References: <bug-78459-4@http.gcc.gnu.org/bugzilla/>
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.