From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10033 invoked by alias); 12 Jun 2011 18:07:39 -0000 Received: (qmail 10024 invoked by uid 22791); 12 Jun 2011 18:07:39 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 12 Jun 2011 18:07:23 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id 40B779AC828; Sun, 12 Jun 2011 20:07:22 +0200 (CEST) Date: Sun, 12 Jun 2011 22:24:00 -0000 From: Jan Hubicka To: gcc-patches@gcc.gnu.org Subject: PR tree-optimize/48836 (internal compiler error: in execute_todo, at passes.c:1261) Message-ID: <20110612180722.GA21062@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) 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: 2011-06/txt/msg00955.txt.bz2 Hi, I had this patch sitting in my tree for a while, but somehow forgot to commit it. The issue here is that edge redirection affects vops and thus imply need for SSA update in some cases. Bootstrapped/regtested x86_64-linux, will commit it shortly. PR middle-end/48836 * ipa-inline-transform.c: Include tree-pass.h (inline_transform): Set TODO_update_ssa_only_virtuals. * Makefile.in (ipa-inline-transform.o): Add tree-pass.h. Index: ipa-inline-transform.c =================================================================== --- ipa-inline-transform.c (revision 174958) +++ ipa-inline-transform.c (working copy) @@ -45,6 +45,7 @@ along with GCC; see the file COPYING3. #include "ipa-prop.h" #include "ipa-inline.h" #include "tree-inline.h" +#include "tree-pass.h" int ncalls_inlined; int nfunctions_inlined; @@ -338,6 +339,8 @@ inline_transform (struct cgraph_node *no cgraph_redirect_edge_call_stmt_to_callee (e); if (!e->inline_failed || warn_inline) inline_p = true; + /* Redirecting edges might lead to a need for vops to be recomputed. */ + todo |= TODO_update_ssa_only_virtuals; } if (inline_p) Index: Makefile.in =================================================================== --- Makefile.in (revision 174958) +++ Makefile.in (working copy) @@ -3087,7 +3087,7 @@ ipa-inline-transform.o : ipa-inline-tran $(TREE_H) langhooks.h $(TREE_INLINE_H) $(FLAGS_H) $(CGRAPH_H) intl.h \ $(DIAGNOSTIC_H) $(PARAMS_H) $(TIMEVAR_H) $(TREE_PASS_H) \ $(HASHTAB_H) $(COVERAGE_H) $(GGC_H) $(TREE_FLOW_H) $(IPA_PROP_H) \ - gimple-pretty-print.h ipa-inline.h $(LTO_STREAMER_H) + gimple-pretty-print.h ipa-inline.h $(LTO_STREAMER_H) tree-pass.h ipa-utils.o : ipa-utils.c $(IPA_UTILS_H) $(CONFIG_H) $(SYSTEM_H) \ coretypes.h $(TM_H) $(TREE_H) $(TREE_FLOW_H) $(TREE_INLINE_H) langhooks.h \ pointer-set.h $(GGC_H) $(GIMPLE_H) $(SPLAY_TREE_H) \