[PR 78365] Prudent type handling in IPA VR-prop
authorMartin Jambor <mjambor@suse.cz>
Mon, 9 Jan 2017 18:26:37 +0000 (19:26 +0100)
committerMartin Jambor <jamborm@gcc.gnu.org>
Mon, 9 Jan 2017 18:26:37 +0000 (19:26 +0100)
commita5e14a42da5eba45cc6528e678ba7e191b9c6cd8
tree782daa89542faa2fad17e82610e4d4d431bca277
parenta7765de8ef7653d7e899b24ed7bb3819e5f90f29
[PR 78365] Prudent type handling in IPA VR-prop

2017-01-09  Martin Jambor  <mjambor@suse.cz>

PR ipa/78365
PR ipa/78599
* ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
* ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
(propagate_vr_accross_jump_function): Use the above function for all
value range computations for pass-through jump functions and type
converasion from explicit value range values.
        (ipcp_propagate_stage): Do not attempt to deduce types of formal
        parameters from TYPE_ARG_TYPES.
* ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
(ipa_write_node_info): Stream type of the actual argument.
(ipa_read_node_info): Likewise. Also remove trailing whitespace.

testsuite/
* gcc.dg/torture/pr78365.c: New test.

From-SVN: r244232
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-prop.c
gcc/ipa-prop.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr78365.c [new file with mode: 0644]