mit-scheme.git
36 years agoMake sure that TERM_SIGNAL control variables are initialized correctly
Chris Hanson [Fri, 21 Oct 1988 18:21:08 +0000 (18:21 +0000)]
Make sure that TERM_SIGNAL control variables are initialized correctly
even when `dump-world' or job control is used.  Also, force control-g
synchronization under Emacs for all unix operating systems.

36 years agoForce control-g synchronization always. Turns out BSD had the same
Chris Hanson [Fri, 21 Oct 1988 16:30:23 +0000 (16:30 +0000)]
Force control-g synchronization always.  Turns out BSD had the same
problem as hp-ux.

36 years agoDon't use second argument to `interrupt-process' and `quit-process'.
Chris Hanson [Fri, 21 Oct 1988 15:28:23 +0000 (15:28 +0000)]
Don't use second argument to `interrupt-process' and `quit-process'.
Apparently that causes difficulties under Ultrix.

36 years agoTwo copies of the copyright message at beginning of file; removed one.
Arthur Gleckler [Fri, 21 Oct 1988 06:47:35 +0000 (06:47 +0000)]
Two copies of the copyright message at beginning of file; removed one.

36 years agoRemoved extra copyright message; had two copies of it at the beginning of the
Arthur Gleckler [Fri, 21 Oct 1988 03:33:19 +0000 (03:33 +0000)]
Removed extra copyright message; had two copies of it at the beginning of the
file.

36 years agoSeveral changes to make unix signals work right.
Chris Hanson [Fri, 21 Oct 1988 00:18:54 +0000 (00:18 +0000)]
Several changes to make unix signals work right.

36 years agoChange this code to use the new `clear-interrupts!' primitive to
Chris Hanson [Fri, 21 Oct 1988 00:18:13 +0000 (00:18 +0000)]
Change this code to use the new `clear-interrupts!' primitive to
disable interrupt bits when the interrupt handlers are invoked.

36 years ago(disk-save): Unless IDENTIFY is a string, return a boolean value.
Chris Hanson [Fri, 21 Oct 1988 00:17:34 +0000 (00:17 +0000)]
(disk-save): Unless IDENTIFY is a string, return a boolean value.

36 years agoFix bug in `disk-save': when the IDENTIFY argument is #F, we should
Chris Hanson [Fri, 21 Oct 1988 00:15:37 +0000 (00:15 +0000)]
Fix bug in `disk-save': when the IDENTIFY argument is #F, we should
return #F just after the save, and #T after a restore.

36 years agoFix some problems with unix signals: (1) Emacs uses SIGHUP to kill a
Chris Hanson [Fri, 21 Oct 1988 00:13:07 +0000 (00:13 +0000)]
Fix some problems with unix signals: (1) Emacs uses SIGHUP to kill a
process when its buffer is killed, so treat SIGHUP differently if
under Emacs -- also don't print messages in this case as the buffer is
dead; (2) don't ask for core dump if signal received.

Also define new primitive `clear-interrupts!'; change
`get-next-interrupt-character' and `setup-timer-interrupt' so they
don't clear the interrupt bit.  It is now the responsibility of the
runtime system to clear the bit when it gets the interrupt.

36 years agoAnother stab at open coded generic arithmetic (stiil no floating point yet).
Mark Friedman [Thu, 20 Oct 1988 18:50:45 +0000 (18:50 +0000)]
Another stab at open coded generic arithmetic (stiil no floating point yet).

36 years agoTransferred version 4.8.1.1 onto the main trunk, essentially undoing
Mark Friedman [Thu, 20 Oct 1988 18:34:36 +0000 (18:34 +0000)]
Transferred version 4.8.1.1 onto the main trunk, essentially undoing
4.9 because we no longer use an expansion phase.

36 years agoAdded rule for OVERFLOW-TEST in support of generic arithmetic.
Mark Friedman [Thu, 20 Oct 1988 18:24:59 +0000 (18:24 +0000)]
Added rule for OVERFLOW-TEST in support of generic arithmetic.

36 years agoChanged a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
Mark Friedman [Thu, 20 Oct 1988 18:21:39 +0000 (18:21 +0000)]
Changed a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
the left before the operations (except multiply, where only one of the
operands is shifted) so that overflow detection gets done
automatically by the hardware.
Also fixed a bug in the fixnum register*register rule which was
manifested when the two source registers were the same and we could
alias them with the target.

36 years agoAdded generic arithmetic rtl types and overflow-test predicate.
Mark Friedman [Thu, 20 Oct 1988 18:15:40 +0000 (18:15 +0000)]
Added generic arithmetic rtl types and overflow-test predicate.
Added fixnum->address and address->fixnum since we have changed the
way fixnum's are handled (i.e. we shift them to the left by 8 bits now).
Removed rtl-constructor stuff since we don't have the expand phase anymore.

36 years agoIn the open coding of generic arithmetic it is possible to create some
Mark Friedman [Thu, 20 Oct 1988 17:59:30 +0000 (17:59 +0000)]
In the open coding of generic arithmetic it is possible to create some
cfg node which are in the rtl-graph but turn out not to be reachable
from the entry edge of the rtl-graph (this happens when we are
creating a pcfg for a type test but the object we are testing is a
constant, for example). We need to make sure that rgraph/compress!
removes these unreachable cfg nodes, because there are some algorithms
which depened on all of node's predecessors being on a path from an
entry edge of the rtl-graph.

36 years agoAdded expression methods for generic arithmetic RTL types.
Mark Friedman [Thu, 20 Oct 1988 17:46:05 +0000 (17:46 +0000)]
Added expression methods for generic arithmetic RTL types.

36 years agoFixed bugs in generic arithmetic open coding.
Mark Friedman [Thu, 20 Oct 1988 17:22:35 +0000 (17:22 +0000)]
Fixed bugs in generic arithmetic open coding.

36 years agoChanged a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
Mark Friedman [Thu, 20 Oct 1988 16:19:58 +0000 (16:19 +0000)]
Changed a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
the left before the operations (except multiply, where only one of the
operands is shifted) so that overflow detection gets done
automatically by the hardware.

36 years agofixed shift intructions with dynamic bit counts.
Mark Friedman [Thu, 20 Oct 1988 16:11:07 +0000 (16:11 +0000)]
fixed shift intructions with dynamic bit counts.

36 years agofixed pcfg*scfg->cfg!
Mark Friedman [Thu, 20 Oct 1988 16:05:53 +0000 (16:05 +0000)]
fixed pcfg*scfg->cfg!

36 years agoImproved version of `file-touch' is smarter, will win in more cases
Chris Hanson [Thu, 20 Oct 1988 11:00:23 +0000 (11:00 +0000)]
Improved version of `file-touch' is smarter, will win in more cases
than previous version.

36 years agoUse /. suffix on directory names that are targets of mv commands.
Chris Hanson [Wed, 19 Oct 1988 11:33:35 +0000 (11:33 +0000)]
Use /. suffix on directory names that are targets of mv commands.

36 years agoAdd most remaining unix primitives, including new `file-touch'.
Chris Hanson [Mon, 17 Oct 1988 12:10:07 +0000 (12:10 +0000)]
Add most remaining unix primitives, including new `file-touch'.

36 years agoAdd new primitive `file-touch'.
Chris Hanson [Mon, 17 Oct 1988 11:52:31 +0000 (11:52 +0000)]
Add new primitive `file-touch'.

36 years agoChange `char->string' to `string'. `char->string' still defined as
Chris Hanson [Sat, 15 Oct 1988 21:24:38 +0000 (21:24 +0000)]
Change `char->string' to `string'.  `char->string' still defined as
alias.

36 years agoChange `char->string' to `string'. `char->string' still defined as
Chris Hanson [Sat, 15 Oct 1988 17:19:29 +0000 (17:19 +0000)]
Change `char->string' to `string'.  `char->string' still defined as
alias.

36 years ago*** empty log message ***
Chris Hanson [Thu, 13 Oct 1988 11:16:53 +0000 (11:16 +0000)]
*** empty log message ***

36 years agoWhen dynamic link is in use, it must be pushed even if the
Chris Hanson [Thu, 13 Oct 1988 10:34:23 +0000 (10:34 +0000)]
When dynamic link is in use, it must be pushed even if the
continuation is always known.

36 years agoMake pathname parser/unparser packages inherit from pathname package.
Chris Hanson [Wed, 12 Oct 1988 07:48:24 +0000 (07:48 +0000)]
Make pathname parser/unparser packages inherit from pathname package.

36 years agoAdd code to load the package modeller if needed.
Chris Hanson [Wed, 12 Oct 1988 06:27:11 +0000 (06:27 +0000)]
Add code to load the package modeller if needed.

36 years agoHide these definitions from the global environment:
Chris Hanson [Wed, 12 Oct 1988 06:23:00 +0000 (06:23 +0000)]
Hide these definitions from the global environment:

parse-pathname
pathname-unparse
pathname-unparse-name

36 years agoFix bug in `h' command when first subproblem had wraparound in
Chris Hanson [Fri, 7 Oct 1988 22:38:13 +0000 (22:38 +0000)]
Fix bug in `h' command when first subproblem had wraparound in
reductions.

36 years agoExport `reduce-right' to the global environment.
Chris Hanson [Fri, 7 Oct 1988 08:53:03 +0000 (08:53 +0000)]
Export `reduce-right' to the global environment.

36 years agoRename `reduce-reversed' to `reduce-right'.
Chris Hanson [Fri, 7 Oct 1988 08:52:36 +0000 (08:52 +0000)]
Rename `reduce-reversed' to `reduce-right'.

36 years agoAdd a SYSTEM primitive which invokes a shell to execute a command.
Guillermo J. Rozas [Thu, 6 Oct 1988 16:33:23 +0000 (16:33 +0000)]
Add a SYSTEM primitive which invokes a shell to execute a command.
Add documentation strings to the primitives in this file.

36 years agoRedefine `reduce' to perform its reduction in a manner compatible with
Chris Hanson [Thu, 6 Oct 1988 06:38:35 +0000 (06:38 +0000)]
Redefine `reduce' to perform its reduction in a manner compatible with
Common Lisp.  Define `reduce-reversed' to perform a right-associative
reduction.

36 years agoAdd missing clause to instr3.scm
Guillermo J. Rozas [Tue, 4 Oct 1988 23:04:57 +0000 (23:04 +0000)]
Add missing clause to instr3.scm

36 years agoMake wrong number of arguments errors proceedable. Extra arguments
Guillermo J. Rozas [Tue, 4 Oct 1988 22:59:20 +0000 (22:59 +0000)]
Make wrong number of arguments errors proceedable.  Extra arguments
are dropped, arguments not present are defaulted to unassigned.

36 years agoMake DUMP-BAND always dump from the low heap so that the probability
Guillermo J. Rozas [Tue, 4 Oct 1988 14:48:41 +0000 (14:48 +0000)]
Make DUMP-BAND always dump from the low heap so that the probability
of falling on the same addresses (and avoiding relocation) on restore
increases.

36 years agoFix 2 bugs:
Guillermo J. Rozas [Mon, 3 Oct 1988 21:19:31 +0000 (21:19 +0000)]
Fix 2 bugs:
- Known procedures (which are not always known operators) with
optional parameters have their values defaulted at the call point in
the known locations.
- Known lexpr trivial closures are invoked as closures.

36 years agoNumerous changes:
Guillermo J. Rozas [Thu, 29 Sep 1988 05:03:12 +0000 (05:03 +0000)]
Numerous changes:

- Incremental definition recaches compiled code caches rather than
uncaching them and having them be recached at first reference.

- Bands are not relocated if there is no need.

- Suggestions for size parameters are printed if the image is too large.

- cmp68020.s now works with m4 on sysV and bsd.

- -recover is a new command line option which informs the microcode
that it should attempt recovery immediately after a trap, rather than
prompting for confirmation.

- Fixed some bugs having to do with deep dynamic binding.

36 years agoNumerous changes:
Guillermo J. Rozas [Thu, 29 Sep 1988 04:51:09 +0000 (04:51 +0000)]
Numerous changes:

- Incremental definition recaches compiled code caches rather than
uncaching them and having them be recached at first reference.

- Bands are not relocated if there is no need.

- Suggestions for size parameters are printed if the image is too large.

- cmp68020.s now works with m4 on sysV and bsd.

- -recover is a new command line option which informs the microcode
that it should attempt recovery immediately after a trap, rather than
prompting for confirmation.

- Fixed some bugs having to do with deep dynamic binding.

36 years agoFix quoting within documentation strings.
Chris Hanson [Tue, 27 Sep 1988 01:56:59 +0000 (01:56 +0000)]
Fix quoting within documentation strings.

36 years agoAdd \n\ sequences to multiline document strings.
Chris Hanson [Tue, 27 Sep 1988 01:46:59 +0000 (01:46 +0000)]
Add \n\ sequences to multiline document strings.

36 years ago(force (delay x)) ==> x (new optimization)
Joe Marshall [Thu, 22 Sep 1988 18:42:57 +0000 (18:42 +0000)]
(force (delay x)) ==> x (new optimization)

36 years agoTuning to increase performance.
Chris Hanson [Thu, 15 Sep 1988 08:41:06 +0000 (08:41 +0000)]
Tuning to increase performance.

36 years agoLabel basic blocks that have multiple previous edges, even if those
Chris Hanson [Thu, 15 Sep 1988 05:05:44 +0000 (05:05 +0000)]
Label basic blocks that have multiple previous edges, even if those
edges do not have nodes attached to them.  Also reorganized to
guarantee that the labelling side effects are ordered correctly.

36 years agoAllow strings and lists for version numbers in systems.
Chris Hanson [Thu, 15 Sep 1988 03:10:00 +0000 (03:10 +0000)]
Allow strings and lists for version numbers in systems.

36 years agoAllow strings and lists for version numbers in systems.
Chris Hanson [Thu, 15 Sep 1988 03:00:25 +0000 (03:00 +0000)]
Allow strings and lists for version numbers in systems.

36 years agoIf the continuation of a combination is always known, do not record it
Chris Hanson [Wed, 14 Sep 1988 06:38:12 +0000 (06:38 +0000)]
If the continuation of a combination is always known, do not record it
as the invocation continuation.  This is because the object will not
exist, and thus its label will never be defined.

36 years agoRemove code to delete basic blocks list from rgraphs. This is now
Chris Hanson [Wed, 7 Sep 1988 06:25:33 +0000 (06:25 +0000)]
Remove code to delete basic blocks list from rgraphs.  This is now
handled by the compiler top level.

36 years agoAdd new analysis to determine how RTL basic blocks are related by
Chris Hanson [Wed, 7 Sep 1988 06:23:24 +0000 (06:23 +0000)]
Add new analysis to determine how RTL basic blocks are related by
continuations.  Attempt to order the linearized RTL and LAP so that
continuations come out nearer to where they are referenced.  A unique
continuation (very common) tries to come out immediately following the
invocation of the procedure that returns to it.

36 years agoAdd new slots to descriptor lists of basic blocks.
Chris Hanson [Wed, 7 Sep 1988 06:20:33 +0000 (06:20 +0000)]
Add new slots to descriptor lists of basic blocks.

36 years agoAdded switch to control generation of open coded type checking.
Mark Friedman [Fri, 2 Sep 1988 20:24:45 +0000 (20:24 +0000)]
Added switch to control generation of open coded type checking.

36 years agoFixed rtl:expand-statement (you gotta be careful with "reverse!"!)
Mark Friedman [Fri, 2 Sep 1988 15:01:08 +0000 (15:01 +0000)]
Fixed rtl:expand-statement (you gotta be careful with "reverse!"!)

36 years agoChange `/' operation to return an exact integer result when the
Chris Hanson [Fri, 2 Sep 1988 04:13:50 +0000 (04:13 +0000)]
Change `/' operation to return an exact integer result when the
arguments are both exact integers, and the second argument divides the
first.  Otherwise a flonum is returned.

36 years agoAdded open coding of generic arithmetic (without open-coding of
Mark Friedman [Thu, 1 Sep 1988 20:17:14 +0000 (20:17 +0000)]
Added open coding of generic arithmetic (without open-coding of
floating point, though the stubs are there).

36 years agoMerged generic stuff with version 4.6.1.1
Mark Friedman [Thu, 1 Sep 1988 19:31:16 +0000 (19:31 +0000)]
Merged generic stuff with version 4.6.1.1

36 years agoMerged generic stuff with version 4.7.1.1
Mark Friedman [Thu, 1 Sep 1988 19:18:58 +0000 (19:18 +0000)]
Merged generic stuff with version 4.7.1.1

36 years agoFixed some generic arithmetic stuff and merged back with version 4.10.
Mark Friedman [Thu, 1 Sep 1988 18:51:35 +0000 (18:51 +0000)]
Fixed some generic arithmetic stuff and merged back with version 4.10.

36 years agoAdd slots to bblock structure to facilitate better linearization.
Chris Hanson [Wed, 31 Aug 1988 10:12:14 +0000 (10:12 +0000)]
Add slots to bblock structure to facilitate better linearization.

36 years agoAdd comments and copyright. Separate out loading of assembler
Chris Hanson [Wed, 31 Aug 1988 06:49:59 +0000 (06:49 +0000)]
Add comments and copyright.  Separate out loading of assembler
database so that it can be easily evaluated in a working compiler
band.  Attempt to reorganize so that this file can be loaded into a
working compiler and have the right effect.

36 years agoChange back end of compiler to not join bit strings that will be
Chris Hanson [Wed, 31 Aug 1988 06:45:18 +0000 (06:45 +0000)]
Change back end of compiler to not join bit strings that will be
adjacent in the output code.  This loses slightly on space but avoids
costly bit string copying.

Also extend RTL constructors to handle `offset' locative with constant
base address.

36 years agoChange `cons-syntax' and `append-syntax!' so that they do not attempt
Chris Hanson [Wed, 31 Aug 1988 06:43:22 +0000 (06:43 +0000)]
Change `cons-syntax' and `append-syntax!' so that they do not attempt
to join bit strings, but just cons them together into lists.  This
will improve the speed of compilation with a small increase in space.

36 years agoChange expander for `instruction->instruction-sequence' to use the
Chris Hanson [Wed, 31 Aug 1988 06:40:22 +0000 (06:40 +0000)]
Change expander for `instruction->instruction-sequence' to use the
primitive `cons' rather than an absolute reference to that name.

36 years agoChange `append-instruction-sequences!' so that it does not attempt to
Chris Hanson [Wed, 31 Aug 1988 06:38:51 +0000 (06:38 +0000)]
Change `append-instruction-sequences!' so that it does not attempt to
join two bit strings that are adjacent in the resulting sequence.  The
compiler spends alot of time joining such bit strings, with only small
space savings.

36 years agoChange rule for `locked' to check top level directory, and to use
Chris Hanson [Wed, 31 Aug 1988 06:09:11 +0000 (06:09 +0000)]
Change rule for `locked' to check top level directory, and to use
definition of `SOURCES' macro.

36 years agoChange `define-ea-database' macro to side effect the variable
Chris Hanson [Wed, 31 Aug 1988 06:00:59 +0000 (06:00 +0000)]
Change `define-ea-database' macro to side effect the variable
`early-ea-database' rather than defining it.  Define this variable
separately so that cref can see it.

36 years agoRemove references to `define-coercion'. Use explicit definition which
Chris Hanson [Wed, 31 Aug 1988 05:56:37 +0000 (05:56 +0000)]
Remove references to `define-coercion'.  Use explicit definition which
will prevent cref from having undefined references.

36 years agoMake sure that the constant parts of this file are integrated as
Chris Hanson [Wed, 31 Aug 1988 05:55:31 +0000 (05:55 +0000)]
Make sure that the constant parts of this file are integrated as
constants in the rest of the compiler.

36 years agoHandle case where base address of an `offset' locative is a constant.
Chris Hanson [Wed, 31 Aug 1988 05:45:58 +0000 (05:45 +0000)]
Handle case where base address of an `offset' locative is a constant.

36 years agoInitial revision
Chris Hanson [Tue, 30 Aug 1988 08:35:12 +0000 (08:35 +0000)]
Initial revision

36 years agoMany changes to improve code at both RTL and LAP levels. Major
Chris Hanson [Tue, 30 Aug 1988 02:16:13 +0000 (02:16 +0000)]
Many changes to improve code at both RTL and LAP levels.  Major
highlights: improved handling of continuations that are sometimes
known; improved instruction combination algorithm; better register
spilling in LAP generator; better handling of registers for fixnum
operations.

36 years agoTeach how to combine stack references.
Chris Hanson [Tue, 30 Aug 1988 02:13:14 +0000 (02:13 +0000)]
Teach how to combine stack references.

36 years agoRewrite this pass to be a more powerful instruction combiner. This is
Chris Hanson [Mon, 29 Aug 1988 23:21:32 +0000 (23:21 +0000)]
Rewrite this pass to be a more powerful instruction combiner.  This is
still not a general solution, but now it is smart about moving the
value register and constant expressions over multiple instructions.

36 years agoRedefine expression-cost computation to be mostly machine independent.
Chris Hanson [Mon, 29 Aug 1988 23:19:44 +0000 (23:19 +0000)]
Redefine expression-cost computation to be mostly machine independent.

36 years agoFlush `expression-non-object?' since that is now defined elsewhere.
Chris Hanson [Mon, 29 Aug 1988 23:18:23 +0000 (23:18 +0000)]
Flush `expression-non-object?' since that is now defined elsewhere.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:17:22 +0000 (23:17 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.

36 years agoFix stupid bug involving missing call to `scfg*scfg->scfg!'.
Chris Hanson [Mon, 29 Aug 1988 23:16:12 +0000 (23:16 +0000)]
Fix stupid bug involving missing call to `scfg*scfg->scfg!'.

36 years agoMust not pop return address unless it has been pushed.
Chris Hanson [Mon, 29 Aug 1988 23:14:17 +0000 (23:14 +0000)]
Must not pop return address unless it has been pushed.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:08:52 +0000 (23:08 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.  Implement operations to detect substitutable register
within a given expression, and to substitute subexpressions for those
registers.  Implement predicate to determine if an expression is
constant.  All of these new operations are used by the improved
register combiner.

Simplify `rtl:trivial-expression?' by disallowing stack references.
This causes some inefficiencies that must be corrected elsewhere, but
reveals more intermediate values to the CSE.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:03:03 +0000 (23:03 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.

36 years agoChange references to `coerce->any' into calls to
Chris Hanson [Mon, 29 Aug 1988 22:56:03 +0000 (22:56 +0000)]
Change references to `coerce->any' into calls to
`standard-register-reference'.

36 years agoUse `move-to-temporary-register!' to correctly reuse a data register
Chris Hanson [Mon, 29 Aug 1988 22:54:31 +0000 (22:54 +0000)]
Use `move-to-temporary-register!' to correctly reuse a data register
for a particular rule.  Previously was doing something ad hoc.

36 years agoMany many changes.
Chris Hanson [Mon, 29 Aug 1988 22:49:54 +0000 (22:49 +0000)]
Many many changes.

36 years agoDefine fixnum constant limits more carefully. Redefine expression
Chris Hanson [Mon, 29 Aug 1988 22:46:42 +0000 (22:46 +0000)]
Define fixnum constant limits more carefully.  Redefine expression
cost computation -- most is now machine-independent.  Change
`address-register' concept to be `non-object-register'.  Delete
`pseudo-register=?'.  Define `interpreter-value-register?'.

36 years agoToo many changes to list them all. See the code.
Chris Hanson [Mon, 29 Aug 1988 22:43:42 +0000 (22:43 +0000)]
Too many changes to list them all.  See the code.

36 years agoFix order of events bug in disassembly of bit field instructions.
Chris Hanson [Mon, 29 Aug 1988 22:40:41 +0000 (22:40 +0000)]
Fix order of events bug in disassembly of bit field instructions.

36 years agoChange names of two state variables for `show-fg', because one of them
Chris Hanson [Mon, 29 Aug 1988 22:39:19 +0000 (22:39 +0000)]
Change names of two state variables for `show-fg', because one of them
conflicted with another variable in the compiler package.

36 years agoNo change. made a mistake.
Mark Friedman [Mon, 29 Aug 1988 22:36:32 +0000 (22:36 +0000)]
No change. made a mistake.

36 years agoForce register allocator to reuse registers on an LRU basis.
Chris Hanson [Mon, 29 Aug 1988 22:35:26 +0000 (22:35 +0000)]
Force register allocator to reuse registers on an LRU basis.
Previously it was somewhat random, and usually MRU.  Teach the
allocator to spill values to registers of other types when allocating
a register of a particular type.  This often wins grossly on the
68020.  Also implement predicates to determine whether particular
aliases have unique values.

36 years agoMany changes. Add documentation comments to most of the procedures in
Chris Hanson [Mon, 29 Aug 1988 22:31:59 +0000 (22:31 +0000)]
Many changes.  Add documentation comments to most of the procedures in
this file.  Improve functionality of existing procedures in a variety
of ways, and add new procedures to implement new functionality.

36 years agoBreak out procedure to pattern match RTL against rules database. This
Chris Hanson [Mon, 29 Aug 1988 22:30:22 +0000 (22:30 +0000)]
Break out procedure to pattern match RTL against rules database.  This
procedure can be used as a predicate by the RTL optimizer to determine
if particular instructions are valid.  In particular, this is used by
the instruction combiner.

36 years agofix named let
Joe Marshall [Fri, 26 Aug 1988 23:00:50 +0000 (23:00 +0000)]
fix named let

36 years ago(let loop ((x loop)) x) worked when it shouldn't have.
Joe Marshall [Fri, 26 Aug 1988 22:53:47 +0000 (22:53 +0000)]
(let loop ((x loop)) x) worked when it shouldn't have.
has been fixed so that the name is not visible to the init forms.

36 years agoUndo changes introduced with version 4.10, to facilitate
Chris Hanson [Thu, 25 Aug 1988 06:42:03 +0000 (06:42 +0000)]
Undo changes introduced with version 4.10, to facilitate
parallel development.

36 years agoGuarantee that "comp.bcon" is constructed if it doesn't already exist.
Chris Hanson [Wed, 24 Aug 1988 22:28:55 +0000 (22:28 +0000)]
Guarantee that "comp.bcon" is constructed if it doesn't already exist.

36 years agoLoad cref if not already loaded.
Chris Hanson [Wed, 24 Aug 1988 21:21:07 +0000 (21:21 +0000)]
Load cref if not already loaded.

36 years agoJust forgot a few things for the rtl-constructor stuff.
Mark Friedman [Wed, 24 Aug 1988 16:29:46 +0000 (16:29 +0000)]
Just forgot a few things for the rtl-constructor stuff.