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) \