summaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-11 16:58:51 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-11 16:58:51 +0000
commit4e67d0bf31675de8490afaeb9075e4d646393563 (patch)
tree3d0591f6b1eb26e1dda4162bf800619545af750e /gcc/lra-constraints.c
parent46520e8a1f70c1678b20d710fbdc287abd2aaddf (diff)
downloadgcc-4e67d0bf31675de8490afaeb9075e4d646393563.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211473 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r--gcc/lra-constraints.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 8342a0a3e3c..453c578f72a 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -2041,6 +2041,12 @@ process_alt_operands (int only_alternative)
goto reg;
break;
+ case CT_CONST_INT:
+ if (CONST_INT_P (op)
+ && insn_const_int_ok_for_constraint (INTVAL (op), cn))
+ win = true;
+ break;
+
case CT_MEMORY:
if (MEM_P (op)
&& satisfies_memory_constraint_p (op, cn))