r209284 - in /branches/google/gcc-4_8/gcc: Make...

tejohnson@gcc.gnu.org tejohnson@gcc.gnu.org
Thu Apr 10 21:27:00 GMT 2014


Author: tejohnson
Date: Thu Apr 10 21:27:53 2014
New Revision: 209284

URL: http://gcc.gnu.org/viewcvs?rev=209284&root=gcc&view=rev
Log:
This patch fixes an issue where self-recursive calls were missed
during ipa inlining in LIPO compiles, since the resolved nodes were
not checked. When a self-recursive call was inlined incorrectly,
ipa_inline redirected the edge to the resolved node, leading to
a cycle in the cgraph that wasn't expected and resulted in an
infinite loop in estimate_calls_size_and_time.

Also fix an inconsistency in the declaration of include_all_aux
that was exposed when l-ipo.h was included in cgraph.

Google ref b/13912450.

2014-04-10  Teresa Johnson  <tejohnson@google.com>

	* cgraph.h (cgraph_edge_recursive_p): Check the resolved
        node in LIPO compiles.
	* l-ipo.h (include_all_aux): Fix declaration that didn't
        match definition.
	* Makefile.in (CGRAPH_H): Include l-ipo.h.

Modified:
    branches/google/gcc-4_8/gcc/Makefile.in
    branches/google/gcc-4_8/gcc/cgraph.h
    branches/google/gcc-4_8/gcc/l-ipo.h



More information about the Gcc-cvs mailing list