diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-06-11 16:58:51 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-06-11 16:58:51 +0000 |
commit | d9c35eee65f97e368a89148572ca8a43d0eb071c (patch) | |
tree | 3d0591f6b1eb26e1dda4162bf800619545af750e /gcc/ira-costs.c | |
parent | 3c4c42e826b61d7b99e6be965dd1187784d2228c (diff) | |
download | gcc-d9c35eee65f97e368a89148572ca8a43d0eb071c.zip gcc-d9c35eee65f97e368a89148572ca8a43d0eb071c.tar.gz gcc-d9c35eee65f97e368a89148572ca8a43d0eb071c.tar.bz2 |
genpreds.c (const_int_start, [...]): New variables.
gcc/
* genpreds.c (const_int_start, const_int_end): New variables.
(choose_enum_order): Output CONST_INT constraints before memory
constraints.
(write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
Add CT_CONST_INT.
* ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
* ira.c (ira_setup_alts): Likewise.
* lra-constraints.c (process_alt_operands): Likewise.
* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
* reload.c (find_reloads): Likewise.
From-SVN: r211473
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r-- | gcc/ira-costs.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index a93985b..795238f 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -763,6 +763,12 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops, classes[i] = ira_reg_class_subunion[classes[i]][cl]; break; + case CT_CONST_INT: + if (CONST_INT_P (op) + && insn_const_int_ok_for_constraint (INTVAL (op), cn)) + win = 1; + break; + case CT_MEMORY: /* Every MEM can be reloaded to fit. */ insn_allows_mem[i] = allows_mem[i] = 1; |