This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: bounded pointers in RTL
- To: Greg McGary <gkm at eng dot ascend dot com>
- Subject: Re: bounded pointers in RTL
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 13 Oct 1999 22:58:43 -0700
- Cc: gcc at gcc dot gnu dot org
- References: <199910132349.NAA05492@tucson-net-82.eng.ascend.com>
On Wed, Oct 13, 1999 at 01:49:58PM -1000, Greg McGary wrote:
> My original implementation of bounded pointers in gcc-2.7.2
> instituted a new set of machine modes like so:
>
> /* Bounded pointers are aggregates of three pointers: value, base & extent */
> DEF_MACHMODE (BQImode, "BQI", MODE_BOUNDED_PTR, 1, 1, BHImode)
> DEF_MACHMODE (BHImode, "BHI", MODE_BOUNDED_PTR, 2, 2, BSImode)
> DEF_MACHMODE (BSImode, "BSI", MODE_BOUNDED_PTR, 12, 4, BDImode)
> DEF_MACHMODE (BDImode, "BDI", MODE_BOUNDED_PTR, 24, 8, VOIDmode)
I wonder if we can make do with only one such mode "BPmode". I've
wanted to make Pmode it's own entity...
> Without going into too much detail yet, I'm seeking some "spiritual
> advice" on this subject. Are bounded-pointer modes acceptable, or is
> there a greater salvation in going "modeless" for which I should
> accept the pain and suffering to adapt the RTL layer?
I have no advice here. I'd go with the one that turns out to be
less gross in implementation.
> In the past there has been some
> discussion about the desirability of treating structs/classes as
> collections if values independently assignable to registers, but
> nothing about the implementation details. Has anyone thought much
> about this?
Not past "we should do this sometime".
r~