aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.h
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2010-07-27 19:48:15 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2010-07-27 19:48:15 +0000
commitcad9aa150ba3ff8c1dc34bf428fc7146dce463b0 (patch)
treeef6e287dda7baf7be12f1fb62bf64d66c6a8211d /gcc/params.h
parent9b9ee6d392b6f4f50bacb299e8e1350b1173add8 (diff)
downloadgcc-cad9aa150ba3ff8c1dc34bf428fc7146dce463b0.zip
gcc-cad9aa150ba3ff8c1dc34bf428fc7146dce463b0.tar.gz
gcc-cad9aa150ba3ff8c1dc34bf428fc7146dce463b0.tar.bz2
re PR target/42495 (redundant memory load)
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. From-SVN: r162597
Diffstat (limited to 'gcc/params.h')
-rw-r--r--gcc/params.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/params.h b/gcc/params.h
index 174edc1..aa96c81 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 \