From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20573 invoked by alias); 7 Dec 2003 17:46:23 -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 20566 invoked from network); 7 Dec 2003 17:46:23 -0000 Received: from unknown (HELO atrey.karlin.mff.cuni.cz) (195.113.31.123) by sources.redhat.com with SMTP; 7 Dec 2003 17:46:23 -0000 Received: by atrey.karlin.mff.cuni.cz (Postfix, from userid 29025) id B793F4C0272; Sun, 7 Dec 2003 18:46:22 +0100 (CET) Date: Sun, 07 Dec 2003 18:09:00 -0000 From: Zdenek Dvorak To: Diego Novillo Cc: "gcc@gcc.gnu.org" Subject: Re: [tree-ssa] Lazy updating of stmt operands Message-ID: <20031207174622.GA13528@atrey.karlin.mff.cuni.cz> References: <20031207161929.GA10638@atrey.karlin.mff.cuni.cz> <1070816155.7334.13.camel@frodo.toronto.redhat.com> <20031207171454.GA12827@atrey.karlin.mff.cuni.cz> <1070818186.7334.30.camel@frodo.toronto.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1070818186.7334.30.camel@frodo.toronto.redhat.com> User-Agent: Mutt/1.5.4i X-SW-Source: 2003-12/txt/msg00476.txt.bz2 Hello, > > > tree-dfa.c:compute_immediate_uses() > > > > Which needs to pass through every single statement in the program. Not > > really terribly efficient. > > > *shrug*, it's used by SSA-CCP. Since def-use edges are only needed by > some passes, I don't think it would be worth our while trying to > maintain them in get_stmt_operands. the cases when I would find it convenient: 1) Merge_blocks. The natural way (for virtual operands, the only way) of getting rid of the degenerated phi nodes in the second block is to copy propagate the set implied by the phi node. Since cfg cleanup should be fast, I don't like scanning of all statements as implied by compute_immediate_uses. 2) Generic incremental updating of SSA also requires the def-use edges; (this can probably be avoided by solving each special case separately or fixing the tree-ssa form only after end of the pass, by calling rewrite_into_ssa). Neither of them is a showstopper, but they seemed important enough to me to ask for ideas. Zdenek