This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PING: [PATCH] Add SUBREG_REG_P predicate and change REG_SUBREG_P to be global


Eventhough I'm not maintainer of the involved area, I'd like to
voice an opinion here:

+/* Predicate yielding nonzero iff X is a subreg of a register.  */
+#define SUBREG_REG_P(X) \
+/* Predicate yielding nonzero iff X is a register or subreg of a register.  */
+#define REG_SUBREG_P(X) \
+   (REG_P (X) || SUBREG_REG_P(X))

> 	* caller-save.c: Use REG_SUBREG_P and SUBREG_REG_P where applicable.

In general, I think the introduction of predicates for common patterns
is a good thing, so I like the idea/intent of the suggested patch.

Now, IMVHO, having two different predicates with so similar names is a
potential source of confusion and mistakes, for both code readers and
code writers.

If we're going the extra predicate way as suggested, could we please
take the opportunity to introduce slightly more descriptive names, for

I think the disambiguation-hence-mistake-avoidance is well worth
having slightly longer names to type and read. In this particular
case, I'd actually rather not have a second predicate instead of
one with so similar a name.

2 cents, Thanks,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]