From e9ff93b1e1540dfd1f609a92dfa66c27c673abfa Mon Sep 17 00:00:00 2001 From: krebbel Date: Tue, 27 May 2008 11:41:10 +0000 Subject: 2008-05-27 Andreas Krebbel * defaults.h (TARGET_MEM_CONSTRAINT): New target macro added. * postreload.c (reload_cse_simplify_operands): Replace 'm' constraint with TARGET_MEM_CONSTRAINT. * recog.c (asm_operand_ok, preprocess_constraints, constrain_operands): Likewise. * regclass.c (record_reg_classes): Likewise. * reload.c (find_reloads, alternative_allows_const_pool_ref): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. * stmt.c (parse_output_constraint, parse_input_constraint): Likewise. * recog.h: Adjust comment. * genpreds.c (generic_constraint_letters): Remove 'm' constraint. * genoutput.c (note_constraint): Don't emit error for 'm' constraint. * doc/md.texi: Add a note to description of 'm' constraint. * doc/tm.texi: Document the new TARGET_MEM_CONSTRAINT macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136011 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/genoutput.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/genoutput.c') diff --git a/gcc/genoutput.c b/gcc/genoutput.c index ba7fd4c2462..be4fb00bc7c 100644 --- a/gcc/genoutput.c +++ b/gcc/genoutput.c @@ -1122,7 +1122,10 @@ note_constraint (rtx exp, int lineno) unsigned int namelen = strlen (name); struct constraint_data **iter, **slot, *new; - if (strchr (indep_constraints, name[0])) + /* The 'm' constraint is special here since that constraint letter + can be overridden by the back end by defining the + TARGET_MEM_CONSTRAINT macro. */ + if (strchr (indep_constraints, name[0]) && name[0] != 'm') { if (name[1] == '\0') message_with_line (lineno, "constraint letter '%s' cannot be " -- cgit v1.2.1