Mercurial > hg > CbC > CbC_gcc
diff gcc/cfgloop.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/cfgloop.h Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/cfgloop.h Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Natural loop functions - Copyright (C) 1987-2017 Free Software Foundation, Inc. + Copyright (C) 1987-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -221,6 +221,12 @@ /* True if the loop is part of an oacc kernels region. */ unsigned in_oacc_kernels_region : 1; + /* The number of times to unroll the loop. 0 means no information given, + just do what we always do. A value of 1 means do not unroll the loop. + A value of USHRT_MAX means unroll with no specific unrolling factor. + Other values means unroll with the given unrolling factor. */ + unsigned short unroll; + /* For SIMD loops, this is a unique identifier of the loop, referenced by IFN_GOMP_SIMD_VF, IFN_GOMP_SIMD_LANE and IFN_GOMP_SIMD_LAST_LANE builtins. */ @@ -336,7 +342,8 @@ void sort_sibling_loops (function *); /* Loop data structure manipulation/querying. */ -extern void flow_loop_tree_node_add (struct loop *, struct loop *); +extern void flow_loop_tree_node_add (struct loop *, struct loop *, + struct loop * = NULL); extern void flow_loop_tree_node_remove (struct loop *); extern bool flow_loop_nested_p (const struct loop *, const struct loop *); extern bool flow_bb_inside_loop_p (const struct loop *, const_basic_block); @@ -350,7 +357,7 @@ extern bool loop_exits_to_bb_p (struct loop *, basic_block); extern bool loop_exits_from_bb_p (struct loop *, basic_block); extern void mark_loop_exit_edges (void); -extern location_t get_loop_location (struct loop *loop); +extern dump_user_location_t get_loop_location (struct loop *loop); /* Loops & cfg manipulation. */ extern basic_block *get_loop_body (const struct loop *); @@ -381,7 +388,7 @@ /* Loop analysis. */ extern bool just_once_each_iteration_p (const struct loop *, const_basic_block); gcov_type expected_loop_iterations_unbounded (const struct loop *, - bool *read_profile_p = NULL); + bool *read_profile_p = NULL, bool by_profile_only = false); extern unsigned expected_loop_iterations (struct loop *); extern rtx doloop_condition_get (rtx_insn *); @@ -760,7 +767,7 @@ (LOOP) = li.next ()) #define FOR_EACH_LOOP_FN(FN, LOOP, FLAGS) \ - for (loop_iterator li(fn, &(LOOP), FLAGS); \ + for (loop_iterator li(FN, &(LOOP), FLAGS); \ (LOOP); \ (LOOP) = li.next ())