From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10672 invoked by alias); 19 Jan 2004 17:42:51 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 10640 invoked from network); 19 Jan 2004 17:42:49 -0000 Received: from unknown (HELO nile.gnat.com) (205.232.38.5) by sources.redhat.com with SMTP; 19 Jan 2004 17:42:49 -0000 Received: from [205.232.38.124] (potomac.gnat.com [205.232.38.124]) by nile.gnat.com (Postfix) with ESMTP id C77B7F2867; Mon, 19 Jan 2004 12:42:47 -0500 (EST) In-Reply-To: <1074516514.5368.191.camel@frodo.toronto.redhat.com> References: <10401191226.AA27734@vlsi1.ultra.nyu.edu> <1074516514.5368.191.camel@frodo.toronto.redhat.com> Mime-Version: 1.0 (Apple Message framework v609) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit Cc: Jan Hubicka , "gcc@gcc.gnu.org" , Richard Kenner From: Geert Bosch Subject: Re: [RFC] Contributing tree-ssa to mainline Date: Mon, 19 Jan 2004 17:42:00 -0000 To: Diego Novillo X-SW-Source: 2004-01/txt/msg01309.txt.bz2 On Jan 19, 2004, at 07:48, Diego Novillo wrote: > On Mon, 2004-01-19 at 07:26, Richard Kenner wrote: >> A case I know about in Ada is check elimination. Because the default >> for Ada >> is enabling checking, it's quite important to eliminate checks that >> can be >> proven not to fail. Theoretically, a lot this could be >> language-independent >> optimizers by value range propagation and related optimizations. But >> the >> front-end can do a much better job because it has information only it >> knows. >> > Such as? Full FE type information is available in GIMPLE. VRP is one > of the passes I'm planning to work on in the immediate future. The > goal > is to eliminate mudflap checks, though it should help Java and Ada as > well. There are many cases where we need to expand the original code in order to generate checks. Some Ada constructs generate a non-trivial amount of code, with calls to the Ada run time library, exception handlers etc. Once we expand such code, it is unlikely it could be optimized away. I agree with Richard that we need optimize away such constructs as early as possible, which is in the front end before expansion. -Geert