]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PR 70646] Store size to inlining predicate conditions
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 May 2016 13:04:23 +0000 (13:04 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 May 2016 13:04:23 +0000 (13:04 +0000)
commitec6e30056b5c00fd271a28c02a8e99c1a2b834d2
tree15e7033e538678addcbb4347ed7dd8352c88b060
parent5ef3c9180225b64330170353fee3aea89f31d8f0
[PR 70646] Store size to inlining predicate conditions

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/70646
* ipa-inline.h (condition): New field size.
* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
for comaprison and store it into the new condition.
(evaluate_conditions_for_known_args): Use condition size to check
access sizes for all but CHANGED conditions.
(unmodified_parm_1): New parameter size_p, store access size into it.
(unmodified_parm): Likewise.
(unmodified_parm_or_parm_agg_item): Likewise.
(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
(set_cond_stmt_execution_predicate): Extract access sizes and store
them to conditions.
(set_switch_stmt_execution_predicate): Likewise.
(will_be_nonconstant_expr_predicate): Likewise.
(will_be_nonconstant_predicate): Likewise.
(inline_read_section): Stream condition size.
(inline_write_summary): Likewise.

testsuite/
* gcc.dg/ipa/pr70646.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236389 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-inline-analysis.c
gcc/ipa-inline.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/ipa/pr70646.c [new file with mode: 0644]