Juan Jose Garcia Ripoll
3fcfaef8cf
In cmpmain.lsp, t3local-fun is now a private symbol.
2009-12-29 16:49:43 +01:00
Juan Jose Garcia Ripoll
c663a87d2a
Reorganize sysfun.lsp using the new packages.
2009-12-29 16:49:19 +01:00
Juan Jose Garcia Ripoll
7956fb1441
Further reorganization, eliminating most uses of WT-* functions from the compiler driver.
2009-12-29 16:18:14 +01:00
Juan Jose Garcia Ripoll
509a7eae43
Further split cmpdefs.lsp into other files, including now a file for package definitions, a file for data types, a file for global variables, and a new package C-DATA that contains all those common structures.
2009-12-29 14:58:04 +01:00
Juan Jose Garcia Ripoll
2dad791a12
Further reorganized the c-backend, including a pass to replace constants with equivalent C expressions for accuracy.
2009-12-29 12:33:30 +01:00
Juan Jose Garcia Ripoll
187144581f
Full code reorganization, further splitting the backend.
2009-12-29 12:05:21 +01:00
Juan Jose Garcia Ripoll
b695d03693
Add optional debug statement
2009-12-29 00:22:11 +01:00
Juan Jose Garcia Ripoll
af90a24100
Simplified the compiler for blocks, eliminating the need for temporaries.
2009-12-28 21:36:22 +01:00
Juan Jose Garcia Ripoll
35bceed7d8
Fixed the compiler for MULTIPLE-VALUE-BIND, which was producing wrong code because it set bindings _before_ the values form.
2009-12-28 21:35:03 +01:00
Juan Jose Garcia Ripoll
c644e6e761
Parsing of optional arguments uses the jmp-nonzero operator
2009-12-28 21:34:06 +01:00
Juan Jose Garcia Ripoll
113b2907e4
Moved the functions for printing C1FORMS from cmpbackend to cmppass
2009-12-28 21:33:23 +01:00
Juan Jose Garcia Ripoll
f4e36b921b
Remove debug statements in cmpbind.lsp
2009-12-28 21:32:40 +01:00
Juan Jose Garcia Ripoll
e8ba4e673a
Ensure that the input to the JMP-ZERO/NONZERO operators is an object with integer representation type.
2009-12-28 21:32:21 +01:00
Juan Jose Garcia Ripoll
b4645481d5
Simplify the construction of slot accessors.
2009-12-28 21:31:24 +01:00
Juan Jose Garcia Ripoll
9716718a82
When updating the type of a destination, use the primary type. New operator JMP-NONZERO.
2009-12-28 21:30:59 +01:00
Juan Jose Garcia Ripoll
7e2eb381a9
The backend has to be loaded almost at the end, after tables, passes and other macros.
2009-12-28 21:29:57 +01:00
Juan Jose Garcia Ripoll
e73c32c844
Avoid using (void) when discarding output from C expressions.
2009-12-28 16:21:30 +01:00
Juan Jose Garcia Ripoll
41998701ac
In new-cmp/cmpbackend.lsp, added missing indirection in an argument to cl_parse_key()
2009-12-28 16:20:53 +01:00
Juan Jose Garcia Ripoll
3ad041e968
Removed debug statements in EMIT-LOCAL-FUNS.
2009-12-28 15:06:59 +01:00
Juan Jose Garcia Ripoll
97bc8f4c4e
Removed some debug statements, redirected others to *dump-output*
2009-12-28 15:06:06 +01:00
Juan Jose Garcia Ripoll
40c698cc64
Remove obsolete file new-cmp/cmptest
2009-12-28 15:05:15 +01:00
Juan Jose Garcia Ripoll
3ff0f77c89
Enforce the representation type of values output in various C forms.
2009-12-28 14:47:47 +01:00
Juan Jose Garcia Ripoll
7a59afb68d
Add missing compiler files to the list of sources loaded by Emacs.
2009-12-28 14:47:27 +01:00
Juan Jose Garcia Ripoll
b659f7de92
Enforce :BOOL representation type on condition values for IF statements.
2009-12-28 14:46:28 +01:00
Juan Jose Garcia Ripoll
c17b26f4d2
Fixed the pass for assigning labels.
2009-12-27 23:24:46 +01:00
Juan Jose Garcia Ripoll
eb8dbf74d7
Fixed typos in the generation of code for stack-push and stack-push-values.
2009-12-27 23:24:17 +01:00
Juan Jose Garcia Ripoll
dcfc2b35f7
Remove assignments to T.
2009-12-27 23:23:56 +01:00
Juan Jose Garcia Ripoll
3301e97a93
Remove assignment to T.
2009-12-27 23:23:35 +01:00
Juan Jose Garcia Ripoll
5581002abe
Added another debug statement.
2009-12-27 23:23:15 +01:00
Juan Jose Garcia Ripoll
d9f4d00c89
Remove bogus debug statement.
2009-12-27 23:22:58 +01:00
Juan Jose Garcia Ripoll
64783d5742
SI:STRING-TO-OBJECT had wrong proclamations.
2009-12-27 23:22:12 +01:00
Juan Jose Garcia Ripoll
ddc638fde4
New separate pass for assigning numbers to labels.
2009-12-27 20:20:38 +01:00
Juan Jose Garcia Ripoll
2dd36d0118
When registering and returning cleanup forms, return fresh lists.
2009-12-27 20:19:34 +01:00
Juan Jose Garcia Ripoll
1ed7e2d366
Remove duplicate definition of make-c1form-alone
2009-12-27 19:01:09 +01:00
Juan Jose Garcia Ripoll
e0195f69e1
Remove duplicate definition of WARN
2009-12-27 19:00:53 +01:00
Juan Jose Garcia Ripoll
73c324feef
Remove debug statement.
2009-12-27 17:32:07 +01:00
Juan Jose Garcia Ripoll
bf22bf374f
Fixes for PROGV:
...
* Operators PROGV/PROGV-EXIT did not register referenced variables.
* Missing PROGV-EXIT operand at the end of a PROGV statement.
* The output variable of PROGV must have type 'cl_index'
2009-12-27 17:31:53 +01:00
Juan Jose Garcia Ripoll
64d92a9e90
Fixed more situations in which the forms did not record the references to the variables they contain -- in particular when they appeared inside lists or other structures.
2009-12-27 16:28:50 +01:00
Juan Jose Garcia Ripoll
d1072abf07
In new-cmp/cmplet.lsp, elimination of unused variables is now redundant with the specialized compiler phase.
2009-12-27 13:07:18 +01:00
Juan Jose Garcia Ripoll
d6ab8d19ad
In cmptranslate.lsp, many forms did not register as references with the variables they used.
2009-12-27 12:57:45 +01:00
Juan Jose Garcia Ripoll
85679ffc6f
DEBUG-ENV-PUSH/POP-VARS may also be simplified during PASS-DELETE-UNUSED-BINDINGS.
2009-12-27 12:56:42 +01:00
Juan Jose Garcia Ripoll
c31bc9bf53
The VARARG-* forms did not work with unused variables
2009-12-26 20:28:06 +01:00
Juan Jose Garcia Ripoll
33f9df411d
Added passes for
...
* Warning about unused variables.
* Deciding the final representation type of all local variables.
2009-12-26 19:11:44 +01:00
Juan Jose Garcia Ripoll
c2fd0bab2d
Added two additional passes:
...
* A pass for eliminating forms without side effects.
* A pass for eliminating unused variables.
2009-12-26 18:25:27 +01:00
Juan Jose Garcia Ripoll
165292b1f8
Renamed GLOBAL to GLOBAL-VAR-P
2009-12-26 16:18:23 +01:00
Juan Jose Garcia Ripoll
b92478c945
Various fixes to the new compiler for building and uniformizing with the old compiler.
2009-12-26 15:45:32 +01:00
Juan Jose Garcia Ripoll
8fc0cdcf5e
Load new compiler into emacs
2009-12-26 15:40:28 +01:00
Juan Jose Garcia Ripoll
f00fafe95a
Changed the prototype of functions that take a fixed number of arguments
2009-12-26 15:40:08 +01:00
Juan Jose Garcia Ripoll
4ab12a4077
Incorporate the new compiler into the source tree.
2009-12-20 16:04:59 +01:00
Juan Jose Garcia Ripoll
09e7b83ad2
DIRECTORY reuses the matching routine in PATHNAME-MATCH-P and avoids stating files whose name does not match the mask.
2009-12-19 23:14:09 +01:00