diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-27 11:41:10 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-27 11:41:10 +0000 |
commit | e9ff93b1e1540dfd1f609a92dfa66c27c673abfa (patch) | |
tree | 434ad6c0e7449499b85133dba8b2068b274857f0 /gcc/genoutput.c | |
parent | a0bf40b6c310549832ab272bb3daee478aae7c88 (diff) | |
download | gcc-e9ff93b1e1540dfd1f609a92dfa66c27c673abfa.tar.gz |
2008-05-27 Andreas Krebbel <krebbel1@de.ibm.com>
* 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
Diffstat (limited to 'gcc/genoutput.c')
-rw-r--r-- | gcc/genoutput.c | 5 |
1 files changed, 4 insertions, 1 deletions
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 " |