From patchwork Mon Jul 5 16:05:14 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 57920 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 1C1D3B6EFE for ; Tue, 6 Jul 2010 02:05:30 +1000 (EST) Received: (qmail 29974 invoked by alias); 5 Jul 2010 16:05:26 -0000 Received: (qmail 29854 invoked by uid 22791); 5 Jul 2010 16:05:25 -0000 X-SWARE-Spam-Status: No, hits=-3.4 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 05 Jul 2010 16:05:16 +0000 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.221.2]) by mx2.suse.de (Postfix) with ESMTP id 931748726A for ; Mon, 5 Jul 2010 18:05:14 +0200 (CEST) Date: Mon, 5 Jul 2010 18:05:14 +0200 (CEST) From: Richard Guenther To: gcc-patches@gcc.gnu.org Subject: [PATCH] Preserve even more alais info with IVOPTs Message-ID: User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 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 Bootstrapped and tested on x86_64-unknown-linux-gnu, committed. Richard. 2010-07-05 Richard Guenther * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info. Index: gcc/tree-ssa-loop-ivopts.c =================================================================== --- gcc/tree-ssa-loop-ivopts.c (revision 161840) +++ gcc/tree-ssa-loop-ivopts.c (working copy) @@ -5486,8 +5486,12 @@ rewrite_use_nonlinear_expr (struct ivopt to still. */ && (get_gimple_rhs_num_ops (TREE_CODE (comp)) >= gimple_num_ops (gsi_stmt (bsi))))) - comp = force_gimple_operand_gsi (&bsi, comp, false, SSA_NAME_VAR (tgt), - true, GSI_SAME_STMT); + { + comp = force_gimple_operand_gsi (&bsi, comp, true, NULL_TREE, + true, GSI_SAME_STMT); + if (POINTER_TYPE_P (TREE_TYPE (tgt))) + duplicate_ssa_name_ptr_info (comp, SSA_NAME_PTR_INFO (tgt)); + } if (gimple_code (use->stmt) == GIMPLE_PHI) {