This is the mail archive of the
mailing list for the GCC project.
Re: [RFC] Changes to the wide-int classes
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Richard Sandiford <rdsandiford at googlemail dot com>, gcc-patches at gcc dot gnu dot org, mikestump at comcast dot net
- Date: Mon, 02 Sep 2013 08:43:50 -0400
- Subject: Re: [RFC] Changes to the wide-int classes
- Authentication-results: sourceware.org; auth=none
- References: <87wqn0bb5q dot fsf at talisman dot default> <5223F9D7 dot 1030307 at naturalbridge dot com> <87ioyjbncu dot fsf at talisman dot default> <alpine dot LNX dot 2 dot 00 dot 1309021132120 dot 20077 at zhemvz dot fhfr dot qr>
On 09/02/2013 05:35 AM, Richard Biener wrote:
This is what the addr_wide_int is for - it sniffs the port and is
guaranteed to big enough to hold the largest pointer, + 4 bits (3 bits
for bitposition and 1 bit so that unsigned things come over with no
loss) then that is rounded up to the next hwi. (i will admit that the
sniffing code needs a little work but that can be fixed without changing
On Mon, 2 Sep 2013, Richard Sandiford wrote:
Kenneth Zadeck <firstname.lastname@example.org> writes:
There is no place for exactly two HWIs in the machine independent parts
of the compiler,
I totally agree. In fact I was taking that so much for granted that
I didn't even think to add a rider about it, sorry. I didn't mean
to imply that we should keep double_int around.
I think the reason for doing this is to prove that it can be done
(so that the wide_int code isn't too big a change for the tree level)
and to make it easier to merge the wide-int patches into trunk piecemeal
if we need to.
Note that changing the tree rep to non-double_int is easy. Also note
that I only want 'double_int' to stay around to have a fast type
that can work on two HWIs for the code that need more precision
than a HWI. The only important cases I know of are in
get_inner_reference and get_ref_base_and_extent and friends. Those
are heavily used (and the only double-int function callers that
even show up in regular cc1 profiles).
So if wide_int_fixed<2> ('2' better be replaced with
works for those cases then fine (and we can drop double-ints).