[Bug middle-end/56988] ipa-cp incorrectly propagates a field of an aggregate
jamborm at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 2 14:05:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56988
--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> 2013-05-02 14:05:35 UTC ---
Patch committed to trunk. I will commit the 4.8 version early next week.
Author: jamborm
Date: Thu May 2 14:03:02 2013
New Revision: 198540
URL: http://gcc.gnu.org/viewcvs?rev=198540&root=gcc&view=rev
Log:
2013-05-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/56988
* ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also check that by_ref
flags match.
(find_aggregate_values_for_callers_subset): Fill in the by_ref flag of
ipa_agg_replacement_value structures.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
(read_agg_replacement_chain): Likewise.
(ipcp_transform_function): Also check that by_ref flags match.
testsuite/
* gcc.dg/ipa/pr56988.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/ipa/pr56988.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-cp.c
trunk/gcc/ipa-prop.c
trunk/gcc/ipa-prop.h
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list