This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/40556] [4.5 Regression] ICE in IPA-CP with recursion
- From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Oct 2009 11:40:36 -0000
- Subject: [Bug tree-optimization/40556] [4.5 Regression] ICE in IPA-CP with recursion
- References: <bug-40556-1771@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from hubicka at gcc dot gnu dot org 2009-10-22 11:40 -------
Subject: Bug 40556
Author: hubicka
Date: Thu Oct 22 11:40:18 2009
New Revision: 153450
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153450
Log:
PR tree-optimize/40556
* ipa-reference.c (has_proper_scope_for_analysis): Add fixme about
global vars.
(check_call): Handle only indirect calls.
(propagate_bits): Update comment.
(write_node_summary_p): Turn bogus check to assert.
(ipa_reference_write_summary): Stream calls_read_all properly.
(ipa_reference_read_summary): Stream in calls_read_all properly.
(read_write_all_from_decl): New function.
(propagate): Handle OVERWRITABLE nodes and external calls here.
* ipa-pre-const.c (check_call): In IPA mode handle indirect calls
only.
(analyze_function): Do not check visibility here.
(add_new_function): We summary OVERWRITABLE too.
(generate_summary): Stream OVERWRITABLE nodes too.
(propagate): Handle external calls and OVERWRITABLE nodes here.
(local_pure_const): Check visibility here.
Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr40556.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-pure-const.c
trunk/gcc/ipa-reference.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40556