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]

[PATCH 0/7] Shrink some rtxes


Until the wide-int merge there was a 32-bit hole on 64-bit hosts between
the end of the rtx flags and the start of the first field.  It was decided
that CONST_WIDE_INT should use this hole to store the number of HWIs.

This patch series moves the "i" and int-typed "0" fields of some
other rtxes to this region.  It mostly has to be "0" fields though.
There are other rtxes like ADDRESS and SUBREG (for the SUBREG_BYTE)
that would benefit in principle, but this would break various bits
of code that use GET_RTX_FORMAT.  Probably the most difficult format
user to update is genrecog.

UNSPEC and UNSPEC_VOLATILE would also benefit, but the bigger saving
there -- and for things like PARALLEL and CONST_VECTOR -- would be
to use a trailing array for the rtxes instead of a separate rtvec.
Something like a 24/8 split between the unspec number and number
of subrtxes should be plenty.

Tested on x86_64-linux-gnu.

Thanks,
Richard


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