Commit graph

3173 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
f2c0bae755 Export the symbols naming locations and c1forms from C-DATA 2009-12-29 18:06:37 +01:00
Juan Jose Garcia Ripoll
bf78e2ef29 cmpc-pass.lsp was not loaded by load.lsp.in 2009-12-29 17:37:33 +01:00
Juan Jose Garcia Ripoll
980b2ab650 CTOP-WRITE takes an argument denoting the source of the code 2009-12-29 17:36:07 +01:00
Juan Jose Garcia Ripoll
eb029bd8d1 LOCATION-PRIMARY-TYPE exported from C-DATA 2009-12-29 17:32:51 +01:00
Juan Jose Garcia Ripoll
55b9d4344e propagate-types now only takes two arguments 2009-12-29 17:32:27 +01:00
Juan Jose Garcia Ripoll
a71c8203f8 Restore the function enforce-types, but now using locations instead of c1forms. 2009-12-29 17:32:11 +01:00
Juan Jose Garcia Ripoll
0abf905420 Removed type information from C1FORMs 2009-12-29 17:18:33 +01:00
Juan Jose Garcia Ripoll
97b6077f84 New file cmploc.lsp for dealing with locations. 2009-12-29 16:51:05 +01:00
Juan Jose Garcia Ripoll
8355766f0c +init-function-name+ is now in C-DATA 2009-12-29 16:50:48 +01:00
Juan Jose Garcia Ripoll
d6c25c24bf Explicitely export from C-DATA the flags that COMPILER must then export. 2009-12-29 16:50:24 +01:00
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