From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21147 invoked by alias); 24 Apr 2007 22:26:47 -0000 Received: (qmail 21068 invoked by alias); 24 Apr 2007 22:26:36 -0000 Date: Tue, 24 Apr 2007 22:26:00 -0000 Message-ID: <20070424222636.21067.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/31605] [4.2/4.3 Regression] VRP eliminates a useful test due with conversion from unsigned int to int In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ian 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: 2007-04/txt/msg01804.txt.bz2 ------- Comment #7 from ian at gcc dot gnu dot org 2007-04-24 23:26 ------- Subject: Bug 31605 Author: ian Date: Tue Apr 24 23:26:25 2007 New Revision: 124129 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124129 Log: ./ChangeLog: PR tree-optimization/31605 * tree-vrp.c (set_value_range): Check that min and max are not both overflow infinities. (set_value_range_to_value): New static function. (extract_range_from_binary_expr): Call set_value_range_to_value. (extract_range_from_expr): Likewise. (extract_range_from_unary_expr): Likewise. Don't create a range which overflows on both sides. (vrp_meet): Check for a useless range. (vrp_visit_phi_node): If we see a constant which looks like an overflow infinity, turn off the TREE_OVERFLOW flag. testsuite/ChangeLog: PR tree-optimization/31605 * gcc.c-torture/execute/pr31605.c: New test. Added: branches/gcc-4_2-branch/gcc/testsuite/gcc.c-torture/execute/pr31605.c Modified: branches/gcc-4_2-branch/gcc/ChangeLog branches/gcc-4_2-branch/gcc/testsuite/ChangeLog branches/gcc-4_2-branch/gcc/tree-vrp.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31605