This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 0/7] Shrink some rtxes
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 10 May 2014 20:55:52 +0100
- Subject: [PATCH 0/7] Shrink some rtxes
- Authentication-results: sourceware.org; auth=none
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