From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16660 invoked by alias); 17 Apr 2007 19:28:03 -0000 Received: (qmail 16604 invoked by uid 48); 17 Apr 2007 19:27:45 -0000 Date: Tue, 17 Apr 2007 19:28:00 -0000 Message-ID: <20070417192745.16603.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: "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: 2007-04/txt/msg01272.txt.bz2 ------- Comment #4 from pinskia at gcc dot gnu dot org 2007-04-17 20:27 ------- And it is a bug on the 4.2 branch. Before Ian's patch we got the following ranges for the testcase in comment #2: D.1528_1: VARYING start_2: VARYING D.1528_3: VARYING cur_bitshift_4: ~[0, 0] EQUIVALENCES: { } (0 elements) start_5: [0, 0fffffff8] EQUIVALENCES: { start_2 } (1 elements) _6: VARYING start_9: [0fffffff9, +INF] EQUIVALENCES: { start_2 } (1 elements) After we get: D.1528_1: VARYING start_2: VARYING D.1528_3: VARYING cur_bitshift_4: [-INF(OVF), -2147483648] EQUIVALENCES: { } (0 elements) start_5: [0, 0fffffff8] EQUIVALENCES: { start_2 } (1 elements) _6: VARYING start_9: [0fffffff9, +INF] EQUIVALENCES: { start_2 } (1 elements) Before: Visiting statement: cur_bitshift_4 = (int) start_9; Found new range for cur_bitshift_4: ~[0, 0] After: Visiting statement: cur_bitshift_4 = (int) start_9; Found new range for cur_bitshift_4: [-INF(OVF), -2147483648] That is just incorrect. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.3 Regression] VRP |[4.2/4.3 Regression] VRP |eliminates a useful test due|eliminates a useful test due |with conversion from |with conversion from |unsigned int to int |unsigned int to int Target Milestone|4.3.0 |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31605