diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-12 21:51:14 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-12 21:51:14 +0000 |
commit | 3716ee8fe4f09bb5339647e276ae7a0a132a6257 (patch) | |
tree | b96eb907a02e6b06812636a77d534f0a89958844 /gcc/ipa-inline.h | |
parent | aba0f3d2f2f452589b65d1e2c3dc1ade3549fa3e (diff) | |
download | gcc-3716ee8fe4f09bb5339647e276ae7a0a132a6257.tar.gz |
PR fortran/48636
* gcc.dg/ipa/inlinehint-2.c: New testcase.
* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
(set_hint_predicate): New function.
(reset_inline_summary): Reset loop stride.
(remap_predicate_after_duplication): New function.
(remap_hint_predicate_after_duplication): New function.
(inline_node_duplication_hook): Update.
(dump_inline_summary): Dump stride summaries.
(estimate_function_body_sizes): Compute strides.
(remap_hint_predicate): New function.
(inline_merge_summary): Use it.
(inline_read_section): Read stride.
(inline_write_summary): Write stride.
* ipa-inline.c (want_inline_small_function_p): Handle strides.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add stride hint.
(inline_summary): Update stride.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191232 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.h')
-rw-r--r-- | gcc/ipa-inline.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h index c99071672e7..ec9cf4d13ac 100644 --- a/gcc/ipa-inline.h +++ b/gcc/ipa-inline.h @@ -46,7 +46,8 @@ typedef struct GTY(()) condition They are represtented as bitmap of the following values. */ enum inline_hints_vals { INLINE_HINT_indirect_call = 1, - INLINE_HINT_loop_iterations = 2 + INLINE_HINT_loop_iterations = 2, + INLINE_HINT_loop_stride = 4 }; typedef int inline_hints; @@ -120,9 +121,12 @@ struct GTY(()) inline_summary conditions conds; VEC(size_time_entry,gc) *entry; - /* Predicate on when some loop in the function sbecomes to have known + /* Predicate on when some loop in the function becomes to have known bounds. */ struct predicate * GTY((skip)) loop_iterations; + /* Predicate on when some loop in the function becomes to have known + stride. */ + struct predicate * GTY((skip)) loop_stride; }; |