aboutsummaryrefslogtreecommitdiff
path: root/gcc/genoutput.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2008-05-27 11:41:10 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2008-05-27 11:41:10 +0000
commita4edaf835918f2dd4a2c36659b3639438a0d1a38 (patch)
tree434ad6c0e7449499b85133dba8b2068b274857f0 /gcc/genoutput.c
parent79d2a7279ffca5617a15c9082369110fd491efda (diff)
downloadgcc-a4edaf835918f2dd4a2c36659b3639438a0d1a38.zip
gcc-a4edaf835918f2dd4a2c36659b3639438a0d1a38.tar.gz
gcc-a4edaf835918f2dd4a2c36659b3639438a0d1a38.tar.bz2
defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
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. From-SVN: r136011
Diffstat (limited to 'gcc/genoutput.c')
-rw-r--r--gcc/genoutput.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index ba7fd4c..be4fb00 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 "