OSDN Git Service

* gcc.dg/tree-ssa/inline-10.c: New testcase.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Apr 2011 21:21:46 +0000 (21:21 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Apr 2011 21:21:46 +0000 (21:21 +0000)
commit905aa3bdd9569b561aa9541ba2042062457f4373
tree4798ac9767856709586a6326e09b5dc53ae4cfff
parent556c5c0c811c403c7e2f7201de02fa898330ee5f
* gcc.dg/tree-ssa/inline-10.c: New testcase.
* gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
* ipa-inline.h (clause_t): Turn into unsigned int.
* ipa-inline-analysis.c (add_clause): Do more simplification.
(and_predicates): Shortcut more cases.
(predicates_equal_p): Move forward; check that clauses are properly
ordered.
(or_predicates): Shortcut more cases.
(edge_execution_predicate): Rewrite as...
(set_cond_stmt_execution_predicate): ... this function; handle
__builtin_constant_p.
(set_switch_stmt_execution_predicate): New .
(compute_bb_predicates): New.
(will_be_nonconstant_predicate): Update TODO.
(estimate_function_body_sizes): Use compute_bb_predicates
and free them later, always try to estimate if stmt is constant.
(estimate_time_after_inlining, estimate_size_after_inlining):
Gracefully handle optimized out edges.
(read_predicate): Fix off by one error.

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