From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30536 invoked by alias); 11 Feb 2006 00:59:42 -0000 Received: (qmail 30521 invoked by uid 48); 11 Feb 2006 00:59:41 -0000 Date: Sat, 11 Feb 2006 00:59:00 -0000 Message-ID: <20060211005941.30520.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/21829] [4.1/4.2 Regression] missed jump threading after unroller 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-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg01083.txt.bz2 List-Id: ------- Comment #5 from pinskia at gcc dot gnu dot org 2006-02-11 00:59 ------- The problem with this one after Jeff's recent patches is that we have: :; D.1402_17 = 0; if (D.1402_17 == 1) goto ; else goto ; :; x_18 = 1; # x_19 = PHI <0(2), 0(3), x_18(4)>; :; Which causes us not to be able to the jump threading as we do a CCP in VRP and then we get: : if (v_8 < 0) goto ; else goto ; :; D.1402_17 = 0; goto (); # x_19 = PHI <0(2)>; :; u_20 = 1; ivtmp.26_21 = 1; ivtmp.26_3 = 1; u_14 = 1; x_13 = 0; if (v_8 <= 0) goto ; else goto ; So we need to be able to do some CCP and some DCE before invoking VRP. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21829