Re: [PATCH] trivial: the memset operation on a automatic array variable should be optimized out by data initialization

From: rae l
Date: Thu Jun 21 2007 - 09:21:40 EST


On 6/19/07, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
Denis Cheng wrote:
> From: Denis Cheng <crquan@xxxxxxxxx>
>
> the explicit memset call could be optimized out by data initialization,
> thus all the fill working can be done by the compiler implicitly.
>

How does the generated code change? Does gcc do something stupid like
statically allocate a prototype structure full of zeros, and then memcpy
it in? Or does it generate a series of explicit assignments for each
member? Or does it generate a memset anyway?

Seems to me that this gives gcc the opportunity to be more stupid, and
the only right answer is what we're doing anyway.

J

Technically speaking, C standard guarantees the data be initialized correctly;
just from the point view of code style, let the compiler selects how
to initialize will be better, this could let the compiler has more
optimization points.

--
Denis Cheng
Linux Application Developer
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/