This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rfc] multi-word subreg lowering pass
On Sat, May 07, 2005 at 08:51:14PM +0200, Björn Haase wrote:
> I think that your patch indeed could be very helpful for the avr port :-)!
> However, I am facing a couple of difficulties with getting it running. Main
> problem is that I am not succeding to compile libgcc with your patch: I am
> constantly getting segmentation faults.
With the following follow-on patch I'm able to build libgcc for avr.
r~
--- lower-subreg.c.orig 2005-05-07 15:53:06.000000000 -0700
+++ lower-subreg.c 2005-05-07 16:00:16.000000000 -0700
@@ -576,7 +576,15 @@
set = simple_move (insn);
if (set)
- find_pseudo_copy (set);
+ {
+ /* (set cc0 reg) is a comparison instruction and cannot be
+ decomposed. Clear SET so that we recognize this fact when
+ we see it in find_decomposable_subregs. */
+ if (CC0_P (SET_DEST (set)))
+ set = NULL;
+ else
+ find_pseudo_copy (set);
+ }
for_each_rtx (&PATTERN (insn), find_decomposable_subregs, set);
}