aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.h
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2010-07-27 19:29:48 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2010-07-27 19:29:48 +0000
commit2016034718e8074a6c222c71fd528846a32cfcd6 (patch)
tree5230a8924f60a6f3b8ae64ec9b7f69f6d703a3db /gcc/params.h
parent9b77478248366c7165ea89c8051677ea35333369 (diff)
downloadgcc-2016034718e8074a6c222c71fd528846a32cfcd6.zip
gcc-2016034718e8074a6c222c71fd528846a32cfcd6.tar.gz
gcc-2016034718e8074a6c222c71fd528846a32cfcd6.tar.bz2
gcse.c (struct expr:max_distance): New field.
* gcse.c (struct expr:max_distance): New field. (doing_code_hoisting_p): New static variable. (want_to_gcse_p): Change signature. Allow constrained hoisting of simple expressions, don't change behavior for PRE. Set max_distance. (insert_expr_in_table): Set new max_distance field. (hash_scan_set): Update. (hoist_expr_reaches_here_p): Stop search after max_distance instructions. (find_occr_in_bb): New static function. Use it in ... (hoist_code): Calculate sizes of basic block before any changes are done. Pass max_distance to hoist_expr_reaches_here_p. (one_code_hoisting_pass): Set doing_code_hoisting_p. * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,) (PARAM_GCSE_UNRESTRICTED_COST): New parameters. * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New macros. * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost): Document. From-SVN: r162589
Diffstat (limited to 'gcc/params.h')
-rw-r--r--gcc/params.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/params.h b/gcc/params.h
index 833fc3b..174edc1 100644
--- a/gcc/params.h
+++ b/gcc/params.h
@@ -125,6 +125,10 @@ typedef enum compiler_param
PARAM_VALUE (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION)
#define GCSE_AFTER_RELOAD_CRITICAL_FRACTION \
PARAM_VALUE (PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION)
+#define GCSE_COST_DISTANCE_RATIO \
+ PARAM_VALUE (PARAM_GCSE_COST_DISTANCE_RATIO)
+#define GCSE_UNRESTRICTED_COST \
+ PARAM_VALUE (PARAM_GCSE_UNRESTRICTED_COST)
#define MAX_UNROLLED_INSNS \
PARAM_VALUE (PARAM_MAX_UNROLLED_INSNS)
#define MAX_SMS_LOOP_NUMBER \