diff options
author | Martin Jambor <mjambor@suse.cz> | 2019-11-29 14:29:35 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2019-11-29 14:29:35 +0100 |
commit | 68188fff88d0c302e6002a8b7450b17e4a26950b (patch) | |
tree | b83ee676f2064ca521dc2c76ede5a06872fdd895 /gcc/cgraphclones.c | |
parent | 3edaed39583aeb49cfda7093ed4c0f9fed3fbea0 (diff) | |
download | gcc-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.c | 7 |
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 (); } |