From patchwork Mon Nov 22 23:18:18 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 72611 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 8B71DB70FB for ; Tue, 23 Nov 2010 10:18:38 +1100 (EST) Received: (qmail 11662 invoked by alias); 22 Nov 2010 23:18:34 -0000 Received: (qmail 11648 invoked by uid 22791); 22 Nov 2010 23:18:32 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, TW_TM, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 22 Nov 2010 23:18:26 +0000 Received: by ywo32 with SMTP id 32so49682ywo.20 for ; Mon, 22 Nov 2010 15:18:25 -0800 (PST) Received: by 10.151.113.20 with SMTP id q20mr3557191ybm.306.1290467904367; Mon, 22 Nov 2010 15:18:24 -0800 (PST) Received: from napoca ([163.181.251.115]) by mx.google.com with ESMTPS id y21sm3599238yhc.14.2010.11.22.15.18.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 22 Nov 2010 15:18:24 -0800 (PST) Received: by napoca (sSMTP sendmail emulation); Mon, 22 Nov 2010 17:18:21 -0600 From: Sebastian Pop To: gcc-patches@gcc.gnu.org Cc: gcc-graphite@googlegroups.com, Sebastian Pop Subject: [PATCH 1/3] Call recompute_tree_invariant_for_addr_expr when replacing a constant in an ADDR_EXPR. Date: Mon, 22 Nov 2010 17:18:18 -0600 Message-Id: <1290467900-14995-1-git-send-email-sebpop@gmail.com> X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Committed to the graphite branch. 2010-11-22 Sebastian Pop * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr when replacing a constant in an ADDR_EXPR. --- gcc/ChangeLog.graphite | 5 +++++ gcc/sese.c | 13 +++++++++++++ 2 files changed, 18 insertions(+), 0 deletions(-) diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index c2da86f..e5df72e 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,8 @@ +2010-11-22 Sebastian Pop + + * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr + when replacing a constant in an ADDR_EXPR. + 2010-10-20 Sebastian Pop * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter diff --git a/gcc/sese.c b/gcc/sese.c index ffcb51c..dbb0cd7 100644 --- a/gcc/sese.c +++ b/gcc/sese.c @@ -547,6 +547,19 @@ rename_uses (gimple copy, htab_t rename_map, gimple_stmt_iterator *gsi_tgt, true, NULL_TREE); gsi_insert_seq_before (gsi_tgt, stmts, GSI_SAME_STMT); replace_exp (use_p, new_expr); + + + if (TREE_CODE (new_expr) == INTEGER_CST) + { + tree lhs = gimple_assign_lhs (copy); + tree rhs = gimple_assign_rhs1 (copy); + + if (TREE_CODE (lhs) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (lhs); + if (TREE_CODE (rhs) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (rhs); + } + set_rename (rename_map, old_name, new_expr); } }