[Bug target/19528] [4.0 regression] missing ra.h
steven at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Jan 19 12:22:00 GMT 2005
------- 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 -0000 1.25
+++ hard-reg-set.h 19 Jan 2005 12:21:01 -0000
@@ -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
More information about the Gcc-bugs
mailing list