Construct ipa_reduced_postorder always for overwritable (PR ipa/89009).
authorMartin Liska <mliska@suse.cz>
Mon, 11 Feb 2019 08:13:03 +0000 (09:13 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 11 Feb 2019 08:13:03 +0000 (08:13 +0000)
commit45272fd22f6f77463d46751acf1c7ceeeeec0689
tree95f7ce40eb7def7277d7c336333d75586a810a33
parentd29cce74b2f2e5b49d09e8b8ad2b67db21c62ac8
Construct ipa_reduced_postorder always for overwritable (PR ipa/89009).

2019-02-11  Martin Liska  <mliska@suse.cz>

PR ipa/89009
* ipa-cp.c (build_toporder_info): Remove usage of a param.
* ipa-inline.c (inline_small_functions): Likewise.
* ipa-pure-const.c (propagate_pure_const): Likewise.
(propagate_nothrow): Likewise.
* ipa-reference.c (propagate): Likewise.
* ipa-utils.c (struct searchc_env): Remove unused field.
(searchc): Always search across AVAIL_INTERPOSABLE.
(ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
the only called IPA pure const can properly not propagate
across interposable boundary.
* ipa-utils.h (ipa_reduced_postorder): Remove param.
2019-02-11  Martin Liska  <mliska@suse.cz>

PR ipa/89009
* g++.dg/ipa/pr89009.C: New test.

From-SVN: r268762
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-inline.c
gcc/ipa-pure-const.c
gcc/ipa-reference.c
gcc/ipa-utils.c
gcc/ipa-utils.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/pr89009.C [new file with mode: 0644]