[Bug target/19528] [4.0 regression] missing ra.h
-- What|Removed |Added Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-24 16:21 --- Fixed by: 2005-01-24 J"orn Rennecke <[EMAIL PROTECTED]> * sh.c (ra.h): Don't #include. (hard_regs_intersect_p): New function, resurrected from ra.c. * sh.c: Fix 1996 Copyright. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From mark at codesourcery dot com 2005-01-22 19:43 --- Subject: Re: [4.0 regression] missing ra.h joel at gcc dot gnu dot org wrote: > --- Additional Comments From joel at gcc dot gnu dot org 2005-01-22 > 12:57 --- > (In reply to comment #10) > >>Mark, while you're using your RM powers to move the target milestone on >>this one, could you also please use your GWP powers to approve the simple >>patch http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01258.html that fixes >>this bug? >> > > > I can confirm that sh-rtems builds with this patch and won't without it. > The resulting compiler will also build RTEMS. > > No sh target builds without this fix so I am also politely asking this to > be committed. The patch should says "Returns true" rather than "Returns 1" in the comment; OK with that change. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From joel at gcc dot gnu dot org 2005-01-22 12:57 --- (In reply to comment #10) > Mark, while you're using your RM powers to move the target milestone on > this one, could you also please use your GWP powers to approve the simple > patch http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01258.html that fixes > this bug? > I can confirm that sh-rtems builds with this patch and won't without it. The resulting compiler will also build RTEMS. No sh target builds without this fix so I am also politely asking this to be committed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-22 12:19 --- Mark, while you're using your RM powers to move the target milestone on this one, could you also please use your GWP powers to approve the simple patch http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01258.html that fixes this bug? -- What|Removed |Added CC||mark at codesourcery dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-01-21 17:33 --- SH is not a primary or secondary platform; removing target milestone. -- What|Removed |Added Target Milestone|4.0.0 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-19 18:59 --- Good. Ralf, can you post it? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From corsepiu at gcc dot gnu dot org 2005-01-19 16:35 --- (In reply to comment #5) > Steven, building cc1 to sh-unknown-elf with your patch succeeded. Building sh-rtems4.7 with Steven's patch also succeeds. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
-- What|Removed |Added Priority|P2 |P3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
-- What|Removed |Added Keywords||build Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From bonzini at gcc dot gnu dot org 2005-01-19 13:47 --- Steven, building cc1 to sh-unknown-elf with your patch succeeded. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From bonzini at gcc dot gnu dot org 2005-01-19 13:27 --- I've fixed the doc/passes.texi (commit in progress). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From paolo dot bonzini at lu dot unisi dot ch 2005-01-19 12:55 --- Subject: Re: [4.0 regression] missing ra.h steven at gcc dot gnu dot org wrote: > --- Additional Comments From steven at gcc dot gnu dot org 2005-01-19 > 12:26 --- > ...and remove the #include "ra.h" of course. Doh. I'm sorry for the breakage, but why the heck does the SH back-end have to include it? Why does the SH back-end have to behave different from every other one?^A^K Paolo -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-19 12:26 --- ...and remove the #include "ra.h" of course. Paolo, you should also update doc/passes.texi, which also still has references to new-ra. -- What|Removed |Added CC||bonzini at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-01-19 12:26:17 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528
[Bug target/19528] [4.0 regression] missing ra.h
--- Additional Comments From steven at gcc dot gnu dot org 2005-01-19 12:21 --- I am not even going to try and look surprised, the SH port is a major abuser of the middle-end. But of course, hard_regs_intersect_p should have been in hard-reg-set.h from the start, *sigh*, mess-meets-mess. Try this: Index: hard-reg-set.h === RCS file: /cvs/gcc/gcc/gcc/hard-reg-set.h,v retrieving revision 1.25 diff -u -3 -p -r1.25 hard-reg-set.h --- hard-reg-set.h 15 Jan 2005 16:06:14 - 1.25 +++ hard-reg-set.h 19 Jan 2005 12:21:01 - @@ -499,4 +499,19 @@ extern const char * reg_class_names[]; #define REG_CANNOT_CHANGE_MODE_P(REGN, FROM, TO) \ CANNOT_CHANGE_MODE_CLASS (FROM, TO, REGNO_REG_CLASS (REGN)) +/* Determine if two hard register sets intersect. + Return 1 if they do. */ + +static inline bool +hard_regs_intersect_p (HARD_REG_SET *a, HARD_REG_SET *b) +{ + HARD_REG_SET c; + COPY_HARD_REG_SET (c, *a); + AND_HARD_REG_SET (c, *b); + GO_IF_HARD_REG_SUBSET (c, reg_class_contents[(int) NO_REGS], lose); + return 1; +lose: + return 0; +} + #endif /* ! GCC_HARD_REG_SET_H */ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528