Unreviewed patch to tree-ssa-loop-ivopts.c

Richard Sandiford rsandifo@redhat.com
Mon Apr 4 10:42:00 GMT 2005


Paul Schlie <schlie@comcast.net> writes:
> However I remain strongly skeptical about:
>
> "GET_MODE_BITSIZE (QImode) == BITS_PER_UNIT"

You mean you're sceptical that that's the current definition of QImode,
or whether it's a _good_ definition of QImode? ;)  My understanding is
that it really is the current definition of QImode.  If you're thinking
about a _better_ definition, well... my preference would be to remove
all knowledge of particular modes from target-independent code.

Zack has already provided a way for targets to provide their own modes.
If we want to change the way mode bitsizes are handled (and I'm not
necessarily sure we do) I think the logical step is to put the
definition of all modes under target control.  Any middle-end code
would then be forced to use functions like mode_for_size() rather
than use hard-coded choices like QImode, SImode, etc.

Obviously there would be a lot of commonality between BITS_PER_UNIT == 8
targets and there would probably be a common *.def file for it.

But this sort of thing is academic unless someone's actually prepared
to do the work (for all targets!).

> However from your "profiling and unsigned_intSI_type_node" patch, why:
>
> +#define GCOV_TYPE_SIZE (LONG_LONG_TYPE_SIZE > 32 ? 64 : 32)
>
> as opposed to adopting a similar philosophy and only defining a type size
> larger than 32-bits if the target's word size is also correspondingly larger
> than 32 bits?

The patch can't change the size of the type.  It's part of an exported ABI.

Richard



More information about the Gcc-patches mailing list