From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7929 invoked by alias); 17 Apr 2009 20:56:03 -0000 Received: (qmail 7871 invoked by uid 48); 17 Apr 2009 20:55:52 -0000 Date: Fri, 17 Apr 2009 20:56:00 -0000 Message-ID: <20090417205552.7870.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/39799] [4.3/4.4/4.5 Regression] missing 'may be used uninitialized' warning In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-04/txt/msg01497.txt.bz2 ------- Comment #1 from rguenth at gcc dot gnu dot org 2009-04-17 20:55 ------- This is because we zero-initialize uninitialized variables during inlining. Honza, do you remember why we do this? /* By inlining function having uninitialized variable, we might extend the lifetime (variable might get reused). This cause ICE in the case we end up extending lifetime of SSA name across abnormal edge, but also increase register pressure. We simply initialize all uninitialized vars by 0 except for case we are inlining to very first BB. We can avoid this for all BBs that are not inside strongly connected regions of the CFG, but this is expensive to test. */ -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Component|regression |tree-optimization Ever Confirmed|0 |1 Keywords| |diagnostic Last reconfirmed|0000-00-00 00:00:00 |2009-04-17 20:55:52 date| | Summary|missing 'may be used |[4.3/4.4/4.5 Regression] |uninitialized' warning |missing 'may be used | |uninitialized' warning Target Milestone|--- |4.3.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39799