From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12338 invoked by alias); 7 Apr 2008 01:45:02 -0000 Received: (qmail 12154 invoked by uid 48); 7 Apr 2008 01:44:19 -0000 Date: Mon, 07 Apr 2008 01:45:00 -0000 Message-ID: <20080407014419.12153.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/25553] Missed removal of load In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia 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: 2008-04/txt/msg00518.txt.bz2 ------- Comment #8 from pinskia at gcc dot gnu dot org 2008-04-07 01:44 ------- This turns out to be PRE for global decl issue as the following is done correctly (at least on the trunk): int g(int); int f(int tt, int *t) { if (tt) *t = 2; else *t = 3; return g(*t); } --- CUT --- f (tt, t) { int prephitmp.9; int D.1182; : if (tt != 0) goto ; else goto ; : *t = 2; prephitmp.9 = 2; goto ; : *t = 3; prephitmp.9 = 3; : D.1182 = g (prephitmp.9) [tail call]; return D.1182; } *** This bug has been marked as a duplicate of 23455 *** -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25553