aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2019-11-29 14:29:35 +0100
committerMartin Jambor <jamborm@gcc.gnu.org>2019-11-29 14:29:35 +0100
commit68188fff88d0c302e6002a8b7450b17e4a26950b (patch)
treeb83ee676f2064ca521dc2c76ede5a06872fdd895 /gcc/cgraphclones.c
parent3edaed39583aeb49cfda7093ed4c0f9fed3fbea0 (diff)
downloadgcc-68188fff88d0c302e6002a8b7450b17e4a26950b.zip
gcc-68188fff88d0c302e6002a8b7450b17e4a26950b.tar.gz
gcc-68188fff88d0c302e6002a8b7450b17e4a26950b.tar.bz2
ipa-cp: Avoid ICEs when looking at expanded thunks and unoptimized functions
2019-11-29 Martin Jambor <mjambor@suse.cz> PR ipa/92476 * ipa-cp.c (set_single_call_flag): Set node_calling_single_call in the summary only if the summary exists. (find_more_scalar_values_for_callers_subset): Check node_dead in the summary only if the summary exists. (ipcp_store_bits_results): Ignore nodes without lattices. (ipcp_store_vr_results): Likewise. * cgraphclones.c: Include ipa-fnsummary.h and ipa-prop.h and the header files required by them. (cgraph_node::expand_all_artificial_thunks): Analyze expanded thunks. From-SVN: r278841
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index a79491e..9aacb0b 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -80,6 +80,11 @@ along with GCC; see the file COPYING3. If not see
#include "tree-inline.h"
#include "dumpfile.h"
#include "gimple-pretty-print.h"
+#include "alloc-pool.h"
+#include "symbol-summary.h"
+#include "tree-vrp.h"
+#include "ipa-prop.h"
+#include "ipa-fnsummary.h"
/* Create clone of edge in the node N represented by CALL_EXPR
the callgraph. */
@@ -268,6 +273,8 @@ cgraph_node::expand_all_artificial_thunks ()
{
thunk->thunk.thunk_p = false;
thunk->analyze ();
+ ipa_analyze_node (thunk);
+ inline_analyze_function (thunk);
}
thunk->expand_all_artificial_thunks ();
}