This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/56988] ipa-cp incorrectly propagates a field of an aggregate


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]