Fix from Dave Korn in case a backend does not declare any define_register_constraints
From-SVN: r147020
This commit is contained in:
parent
70ccbedbb1
commit
b65d674492
@ -1,3 +1,11 @@
|
|||||||
|
2009-04-30 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||||
|
|
||||||
|
* ira.c (setup_cover_and_important_classes): Use safe macro
|
||||||
|
REG_CLASS_FOR_CONSTRAINT instead of calling regclass_for_constraint
|
||||||
|
directly.
|
||||||
|
* genpreds.c (write_tm_preds_h): Output suitable definition of
|
||||||
|
REG_CLASS_FOR_CONSTRAINT.
|
||||||
|
|
||||||
2009-04-30 Rafael Avila de Espindola <espindola@google.com>
|
2009-04-30 Rafael Avila de Espindola <espindola@google.com>
|
||||||
|
|
||||||
* alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value
|
* alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value
|
||||||
|
@ -1280,9 +1280,13 @@ write_tm_preds_h (void)
|
|||||||
puts ("extern enum reg_class regclass_for_constraint "
|
puts ("extern enum reg_class regclass_for_constraint "
|
||||||
"(enum constraint_num);\n"
|
"(enum constraint_num);\n"
|
||||||
"#define REG_CLASS_FROM_CONSTRAINT(c_,s_) \\\n"
|
"#define REG_CLASS_FROM_CONSTRAINT(c_,s_) \\\n"
|
||||||
" regclass_for_constraint (lookup_constraint (s_))\n");
|
" regclass_for_constraint (lookup_constraint (s_))\n"
|
||||||
|
"#define REG_CLASS_FOR_CONSTRAINT(x_) \\\n"
|
||||||
|
" regclass_for_constraint (x_)\n");
|
||||||
else
|
else
|
||||||
puts ("#define REG_CLASS_FROM_CONSTRAINT(c_,s_) NO_REGS");
|
puts ("#define REG_CLASS_FROM_CONSTRAINT(c_,s_) NO_REGS\n"
|
||||||
|
"#define REG_CLASS_FOR_CONSTRAINT(x_) \\\n"
|
||||||
|
" NO_REGS\n");
|
||||||
if (have_const_int_constraints)
|
if (have_const_int_constraints)
|
||||||
puts ("extern bool insn_const_int_ok_for_constraint "
|
puts ("extern bool insn_const_int_ok_for_constraint "
|
||||||
"(HOST_WIDE_INT, enum constraint_num);\n"
|
"(HOST_WIDE_INT, enum constraint_num);\n"
|
||||||
|
@ -756,7 +756,7 @@ setup_cover_and_important_classes (void)
|
|||||||
continue;
|
continue;
|
||||||
#ifdef CONSTRAINT_NUM_DEFINED_P
|
#ifdef CONSTRAINT_NUM_DEFINED_P
|
||||||
for (j = 0; j < CONSTRAINT__LIMIT; j++)
|
for (j = 0; j < CONSTRAINT__LIMIT; j++)
|
||||||
if ((int) regclass_for_constraint ((enum constraint_num) j) == i)
|
if ((int) REG_CLASS_FOR_CONSTRAINT ((enum constraint_num) j) == i)
|
||||||
break;
|
break;
|
||||||
if (j < CONSTRAINT__LIMIT)
|
if (j < CONSTRAINT__LIMIT)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user