From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13338 invoked by alias); 1 Nov 2012 22:28:35 -0000 Received: (qmail 13322 invoked by uid 22791); 1 Nov 2012 22:28:34 -0000 X-SWARE-Spam-Status: No, hits=-7.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RCVD_IN_NJABL_PROXY,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail1-relais-roc.national.inria.fr (HELO mail1-relais-roc.national.inria.fr) (192.134.164.82) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 01 Nov 2012 22:28:24 +0000 Received: from ip-158.net-81-220-131.standre.rev.numericable.fr (HELO laptop-mg.local) ([81.220.131.158]) by mail1-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 01 Nov 2012 23:28:23 +0100 Date: Thu, 01 Nov 2012 22:28:00 -0000 From: Marc Glisse To: Kenneth Zadeck cc: Richard Biener , Mike Stump , gcc-patches , Lawrence Crowl , rdsandiford@googlemail.com Subject: Re: patch to fix constant math - 8th patch - tree-vrp.c In-Reply-To: <5092F406.9060101@naturalbridge.com> Message-ID: References: <506C72C7.7090207@naturalbridge.com> <5072BAD1.5080701@naturalbridge.com> <87txu4n41o.fsf@talisman.home> <50743E2B.6000104@naturalbridge.com> <5936254E-4B37-4D1A-9951-C33172118127@comcast.net> <50891AAC.8090301@naturalbridge.com> <87y5im3orb.fsf@sandifor-thinkpad.stglab.manchester.uk.ibm.com> <87pq3y3kyk.fsf@sandifor-thinkpad.stglab.manchester.uk.ibm.com> <50912D85.1070002@naturalbridge.com> <5091331C.3030504@naturalbridge.com> <5092F406.9060101@naturalbridge.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg00138.txt.bz2 On Thu, 1 Nov 2012, Kenneth Zadeck wrote: > This patch converts tree-vpn to use wide-int. In doing so it gets rid of > all restrictions that this pass currently has on the target or source word > size. > > The pass's reliance on a finite "infinite precision" representation has been > preserved. It first scans the function being compiled to determine the > largest type that needs to be represented within that function and then it > uses some multiple of that size as it's definition of infinite. > > I am currently using 4 for this value. However marc glisse claims that this > may be due to a bug and that the value should be 2. This is something that > has to be investigated further. This could easily be my mistake or some > other issue that has crept into the pass. The value of 2 or 4 is easily > changed in largest_initialize. The only truly non mechanical > transformation is in the code that multiplies two ranges. This code uses > the wide-int multiply full functions rather than using pairs of double-ints. (I didn't look at the patch (yet)) Er, no, I didn't claim that using 4 was wrong, I think it is good because it makes things easier. I only claimed that the current implementation jumps through enough hoops to make do with 2. -- Marc Glisse