This is the mail archive of the gcc@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]

Re: Live range splitting in new allocator


Marc Espie writes:
> I don't know how hard it would be to do, but I feel that it would make
> a lot of sense to make *sure* the uninitialized variables are set to
> something completely different from 0 in -O0 mode. After all, we already
> know that -O0 code is bad, performance-wise, why not take the plunge and
> initialize variables to bad defaults so that stuff *will* crash at -O0 as
> well ?

For floating point on IEEE platforms, it's easy enough: use a NaN.
However, for variables that are used as boolean values (whether a C++ bool
or a C int used as a flag), you'll make things more deterministic than
before: an uninitialized Boolean auto variable used to be random, under your
proposal it will always be true.

If you want to go down this road, you could go all the way and generate
code that catches all uses of uninitialized variables.


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