]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/lto-cgraph.cc
re PR tree-optimization/46984 (g++.dg/torture/pr45699.C FAILs with -fno-early-inlinin...
authorMartin Jambor <mjambor@suse.cz>
Mon, 3 Jan 2011 13:06:54 +0000 (14:06 +0100)
committerMartin Jambor <jamborm@gcc.gnu.org>
Mon, 3 Jan 2011 13:06:54 +0000 (14:06 +0100)
commitce47fda3ce6adfe86f725930dedbfb1f775ddd45
treea0198b9cc6e29df5e3c9c571f5a99db84117cc75
parentfd0bcb5af982e58e40c5fad1eb0d1a54316b2807
re PR tree-optimization/46984 (g++.dg/torture/pr45699.C FAILs with -fno-early-inlining -flto)

2011-01-03  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/46984
* cgraph.h (cgraph_indirect_call_info): make field thunk_delta
HOST_WIDE_INT.
(cgraph_create_indirect_edge): Fixed line length.
(cgraph_indirect_call_info): Declare.
(cgraph_make_edge_direct) Update declaration.
* cgraph.c (cgraph_allocate_init_indirect_info): New function.
(cgraph_create_indirect_edge): Use it.
(cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
callees.
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
the new thunk_delta representation.
* ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
HOST_WIDE_INT.
(ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
(ipa_read_indirect_edge_info): Likewise.
* lto-cgraph.c (output_edge_opt_summary): New function.
(output_node_opt_summary): Call it on all outgoing edges.
(input_edge_opt_summary): New function.
(input_node_opt_summary): Call it on all outgoing edges.

* testsuite/g++.dg/ipa/pr46984.C: New test.

From-SVN: r168420
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/ipa-prop.c
gcc/lto-cgraph.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/pr46984.C [new file with mode: 0644]