diff options
author | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-27 19:48:15 +0000 |
---|---|---|
committer | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-27 19:48:15 +0000 |
commit | c09391309a2fe002f8e1424a8fef2923bf9ca7c5 (patch) | |
tree | ef6e287dda7baf7be12f1fb62bf64d66c6a8211d /gcc/params.h | |
parent | 654d23578eb8fef8c9c6e6f41211b9318b9f96e5 (diff) | |
download | gcc-c09391309a2fe002f8e1424a8fef2923bf9ca7c5.tar.gz |
PR target/42495
PR middle-end/42574
* basic-block.h (get_dominated_to_depth): Declare.
* dominance.c (get_dominated_to_depth): New function, use
get_all_dominated_blocks as a base.
(get_all_dominated_blocks): Use get_dominated_to_depth.
* gcse.c (occr_t, VEC (occr_t, heap)): Define.
(hoist_exprs): Remove.
(alloc_code_hoist_mem, free_code_hoist_mem): Update.
(compute_code_hoist_vbeinout): Add debug print outs.
(hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
quadratic behavior.
* params.h (MAX_HOIST_DEPTH): New macro.
* doc/invoke.texi (max-hoist-depth): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162597 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.h')
-rw-r--r-- | gcc/params.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/params.h b/gcc/params.h index 174edc13f42..aa96c818f26 100644 --- a/gcc/params.h +++ b/gcc/params.h @@ -129,6 +129,8 @@ typedef enum compiler_param PARAM_VALUE (PARAM_GCSE_COST_DISTANCE_RATIO) #define GCSE_UNRESTRICTED_COST \ PARAM_VALUE (PARAM_GCSE_UNRESTRICTED_COST) +#define MAX_HOIST_DEPTH \ + PARAM_VALUE (PARAM_MAX_HOIST_DEPTH) #define MAX_UNROLLED_INSNS \ PARAM_VALUE (PARAM_MAX_UNROLLED_INSNS) #define MAX_SMS_LOOP_NUMBER \ |