From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14642 invoked by alias); 4 May 2006 21:25:58 -0000 Received: (qmail 14490 invoked by uid 48); 4 May 2006 21:25:51 -0000 Date: Thu, 04 May 2006 21:25:00 -0000 Message-ID: <20060504212551.14489.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/26944] [4.1/4.2 Regression] -ftree-ch generates worse code 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-05/txt/msg00446.txt.bz2 List-Id: ------- Comment #9 from pinskia at gcc dot gnu dot org 2006-05-04 21:25 ------- (In reply to comment #8) > WRT this code generated by tree-ch: > D.1305_41 = Int_Loc_3 + 1; > if (Int_Loc_3 <= D.1305_41) goto ; else goto ; > > AFAICT there's exactly one value for which the comparison can be false, IMO it > would be better to test directly that value instead of generating a new SSA > name and another expression. Well CH should not do this as it never sees two expressions together, only the one COND_EXPR. If we do a VRP after CH, it will not fix it currently either because VRP does not record that many symbolic ranges (I forgot that PR number, it was filed by me). If VRP did that and we added a VRP after CH but before IV-OPTS, maybe this wil fix itself. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26944