diff options
author | Martin Jambor <mjambor@suse.cz> | 2010-01-04 19:18:54 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2010-01-04 19:18:54 +0100 |
commit | 438789ffe3864516f7b30b532894b2e64f016165 (patch) | |
tree | f5165a7f5cc72d4605f0b8c609a2d76f7cac6b73 /gcc/ipa-cp.c | |
parent | 7710285472acd5ade9589ef6d34cafa3306e9277 (diff) | |
download | gcc-438789ffe3864516f7b30b532894b2e64f016165.zip gcc-438789ffe3864516f7b30b532894b2e64f016165.tar.gz gcc-438789ffe3864516f7b30b532894b2e64f016165.tar.bz2 |
re PR tree-optimization/42366 (ICE in ipa_write_node_info, at ipa-prop.c:2023)
2010-01-04 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42366
* ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
edges with variable number of parameters.
* ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
flag instead of asserting it.
(ipa_read_node_info): Read uses_analysis_done flag.
From-SVN: r155630
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r-- | gcc/ipa-cp.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index b6e4712..66de8db 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -633,15 +633,8 @@ ipcp_init_stage (void) ipa_count_arguments (cs); if (ipa_get_cs_argument_count (IPA_EDGE_REF (cs)) != ipa_get_param_count (IPA_NODE_REF (cs->callee))) - { - /* Handle cases of functions with - a variable number of parameters. */ - ipa_set_called_with_variable_arg (IPA_NODE_REF (cs->callee)); - if (flag_indirect_inlining) - ipa_compute_jump_functions (cs); - } - else - ipa_compute_jump_functions (cs); + ipa_set_called_with_variable_arg (IPA_NODE_REF (cs->callee)); + ipa_compute_jump_functions (cs); } } } |