* Introduce new RTL expression type CONS-NON-POINTER and change
authorChris Hanson <org/chris-hanson/cph>
Fri, 25 Oct 1991 00:15:37 +0000 (00:15 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 25 Oct 1991 00:15:37 +0000 (00:15 +0000)
commit739069d4559c0f2bfe80b05bf1e438eb761653f0
tree9d3c266d13a266ba4c6a9c1e6232343f0a068a72
parentaa14c2bc2d1529c2fd531b2652dda278131989e8
* Introduce new RTL expression type CONS-NON-POINTER and change
  appropriate instances of CONS-POINTER to use the new type.

* Replace RTL expression type @ADDRESS->FLOAT with new type
  OBJECT->FLOAT.

* Introduce new internal switch USE-PRE/POST-INCREMENT?.  Change code
  generation of in-line consing to pay attention to this switch.

* Merge common parts of "machine/make" into new file "base/make".

On MIPS:

* Change code sequence that assigns type codes to assume that the type
  field has a known value.  This eliminates one instruction in every
  type-code assignment.  It assumes that the data segment bits have a
  certain value, but the microcode already does this.

* Cache immediate constants in registers, and remember which registers
  contain which constants.  (This should be improved by noticing when
  arithmetic operations are done on known constants and cacheing the
  results.)

* Set USE-PRE/POST-INCREMENT? to false, saving one instruction in
  every CONS, and multiple instructions in each call to VECTOR.
17 files changed:
v7/src/compiler/machines/mips/lapgen.scm
v7/src/compiler/machines/mips/machin.scm
v7/src/compiler/machines/mips/make.scm-big
v7/src/compiler/machines/mips/make.scm-little
v7/src/compiler/machines/mips/rules1.scm
v7/src/compiler/machines/mips/rules2.scm
v7/src/compiler/machines/mips/rules3.scm
v7/src/compiler/machines/mips/rules4.scm
v7/src/compiler/machines/mips/rulfix.scm
v7/src/compiler/machines/mips/rulflo.scm
v7/src/compiler/machines/mips/rulrew.scm
v7/src/compiler/rtlbase/rtlcon.scm
v7/src/compiler/rtlbase/rtlexp.scm
v7/src/compiler/rtlbase/rtlty1.scm
v7/src/compiler/rtlgen/opncod.scm
v7/src/compiler/rtlopt/rcompr.scm
v7/src/compiler/rtlopt/rinvex.scm