Commit 3cf965b7 by Bernd Schmidt Committed by Bernd Schmidt

Delete !REGISTER_CONSTRAINTS code

From-SVN: r29754
parent 19af6455
Fri Oct 1 10:56:06 1999 Bernd Schmidt <bernds@cygnus.co.uk> Fri Oct 1 10:56:06 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* md.texi (No Constraints): Delete section.
* Makefile.in (genattrtab.o): Don't depend on "insn-config.h". * Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
* final.c (final_scan_insn): We always have register constraints. * final.c (final_scan_insn): We always have register constraints.
* genattrtab.c: Don't include "insn-config.h". * genattrtab.c: Don't include "insn-config.h".
......
...@@ -667,7 +667,6 @@ have. Constraints can also require two operands to match. ...@@ -667,7 +667,6 @@ have. Constraints can also require two operands to match.
* Class Preferences:: Constraints guide which hard register to put things in. * Class Preferences:: Constraints guide which hard register to put things in.
* Modifiers:: More precise control over effects of constraints. * Modifiers:: More precise control over effects of constraints.
* Machine Constraints:: Existing constraints for some particular machines. * Machine Constraints:: Existing constraints for some particular machines.
* No Constraints:: Describing a clean machine without constraints.
@end menu @end menu
@end ifset @end ifset
...@@ -1660,32 +1659,6 @@ Even register ...@@ -1660,32 +1659,6 @@ Even register
@end table @end table
@ifset INTERNALS @ifset INTERNALS
@node No Constraints
@subsection Not Using Constraints
@cindex no constraints
@cindex not using constraints
Some machines are so clean that operand constraints are not required. For
example, on the Vax, an operand valid in one context is valid in any other
context. On such a machine, every operand constraint would be @samp{g},
excepting only operands of ``load address'' instructions which are
written as if they referred to a memory location's contents but actual
refer to its address. They would have constraint @samp{p}.
@cindex empty constraints
For such machines, instead of writing @samp{g} and @samp{p} for all
the constraints, you can choose to write a description with empty constraints.
Then you write @samp{""} for the constraint in every @code{match_operand}.
Address operands are identified by writing an @code{address} expression
around the @code{match_operand}, not by their constraints.
When the machine description has just empty constraints, certain parts
of compilation are skipped, making the compiler faster. However,
few machines actually do not need constraints; all machine descriptions
now in existence use constraints.
@end ifset
@ifset INTERNALS
@node Standard Names @node Standard Names
@section Standard Pattern Names For Generation @section Standard Pattern Names For Generation
@cindex standard pattern names @cindex standard pattern names
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment