summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-12 21:51:14 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-12 21:51:14 +0000
commit3716ee8fe4f09bb5339647e276ae7a0a132a6257 (patch)
treeb96eb907a02e6b06812636a77d534f0a89958844 /gcc/ipa-inline.h
parentaba0f3d2f2f452589b65d1e2c3dc1ade3549fa3e (diff)
downloadgcc-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.h8
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;
};