This is the mail archive of the
mailing list for the GCC project.
Re: Fix sh-elf ICE for builtins-18.c
- From: Jim Wilson <wilson at tuliptree dot org>
- To: Joern Rennecke <joern dot rennecke at superh dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 10 Jun 2003 22:17:55 -0700
- Subject: Re: Fix sh-elf ICE for builtins-18.c
- References: <3EE4AE65.51C62DC9@superh.com>
Joern Rennecke wrote:
* rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
* expr.c (convert_move): Handle moves between two CONCATs.
The rtlanal.c patch seems to be completely unnecessary. With an
unpatched tree, we get to convert_move, and then try to use the
multi-word emit-no-conflict block code which uses
reg_overlap_mentioned_p. But fixing this isn't very helpful, since the
following code won't work anyways.
So you added code earlier in convert_move to handle CONCATs specially,
thus obviating the need for the reg_overlap_mentioned_p patch. I built
a sh-elf cross, and the testcase works fine with the expr.c patch only.
The expr.c patch is approved.
The rtlanal.c patch is not. I don't think backend code like rtlanal
should have to know anything about concat.
If you have a testcase that shows the rtlanal.c patch is useful, I'd
like to see it.