This is the mail archive of the gcc-patches@gcc.gnu.org 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: Unreviewed patches


Kazu Hirata wrote:
[patch] Clean up FUNCTION_ARG_PADDING.
http://gcc.gnu.org/ml/gcc-patches/2003-07/msg00128.html

Playing with FUNCTION_ARG_PADDING is very dangerous. You could easily break an ABI, and not realize it until well after a release. Eliminating the duplicate definitions is a good idea though, and the patch does seem reasonably safe.


I don't really see the point of making FUNCTION_ARG_PADDING into a function though. None of the other related macros in this file are functions. Why not just rename it to DEFAULT_FUNCTION_ARG_PADDING, and then make that the default definition of FUNCTION_ARG_PADDING?

[patch] combine.c: Convert (ne (and (lshiftrt (xor X CST) Y) 1) 0) into (eq (and (lshiftrt X Y) 1) 0). (take 3)
http://gcc.gnu.org/ml/gcc-patches/2003-08/msg01315.html

1 << INTVAL (shift_count))))


This part can fail. You want to use (HOST_WIDE_INT) 1 instead of just 1, and you need to verify that the shift_mode is smaller than or equal to the size of HOST_WIDE_INT. See similar examples in simplify_shift_const.

If handling XOR here makes sense, then does it also make sense in the similar code immediately above?
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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