summaryrefslogtreecommitdiff
path: root/gcc/lra-int.h
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-09 15:33:19 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-09 15:33:19 +0000
commit4b3aba76018311cf1d7d011f7299cb5fcc84a78a (patch)
treef14e41b290294aa5a04024274f1bf3d8c67bf745 /gcc/lra-int.h
parent72d65da995cf1ec78d6cfc1de6a2895715120f8f (diff)
downloadgcc-4b3aba76018311cf1d7d011f7299cb5fcc84a78a.tar.gz
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/55154 * lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros. * lra.c (setup_operand_alternative): Use them. * lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND): Remove. (process_alt_operands): Use LRA_LOSER_COST_FACTOR and LRA_MAX_REJECT. Accumulate reject instead of setting for non-const. (curr_insn_transform): Initialize best_losers and best_overall by INT_MAX. 2012-11-09 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/55154 * gcc.target/i386/pr55154.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193364 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r--gcc/lra-int.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index abb6d7176bf..04d55287d75 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -243,6 +243,12 @@ typedef struct lra_insn_recog_data *lra_insn_recog_data_t;
#define LRA_TEMP_CLOBBER_P(x) \
(RTL_FLAG_CHECK1 ("TEMP_CLOBBER_P", (x), CLOBBER)->unchanging)
+/* Cost factor for each additional reload and maximal cost reject for
+ insn reloads. One might ask about such strange numbers. Their
+ values occurred historically from former reload pass. */
+#define LRA_LOSER_COST_FACTOR 6
+#define LRA_MAX_REJECT 600
+
/* lra.c: */
extern FILE *lra_dump_file;