This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Automaticly eliminating redundant zero initialisers
- To: rmk at arm dot linux dot org dot uk (Russell King)
- Subject: Automaticly eliminating redundant zero initialisers
- From: greyham at research dot canon dot com dot au (Graham Stoney)
- Date: Mon, 1 May 2000 19:58:00 +1000 (EST)
- Cc: linux-kernel at vger dot rutgers dot edu (Linux kernel mailing list),gcc at gcc dot gnu dot org
In a discussion about Linux kernel optimisations, Russell King writes:
> Oh, if any of the mm people are reading this, what about killing the
> redundant zero initialisers so that these variables can be placed in
> the BSS?
Even better, is there any way to get gcc to treat static and extern variables
with explicit all-bits-zero initializers as though they had no initializers?
In other words, treat these the same:
static int initialised=0; /* wastes space in .data */
static int uninitialised; /* implicitly zero, and more efficient */
This would be useful for all space-conscious environments where the user
knows that .bss is zero-filled. Variables with redundant explicit zero
initializers are effectively wasting .data space, but some programmer like
to use them anyway.
Thanks,
Graham
--
Graham Stoney
Principal Hardware/Software Engineer
Canon Information Systems Research Australia
Ph: +61 2 9805 2909 Fax: +61 2 9805 2929