Commit graph

893 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
bb3eeabf74 Reimplemented C2LET without REPLACEd variables and eliminated this kind from the rest of the compiler. 2010-05-25 19:43:31 +02:00
Juan Jose Garcia Ripoll
51c7549e72 Precise declarations for ARGC/ARGV 2010-05-25 19:43:03 +02:00
Juan Jose Garcia Ripoll
6b83ade38d Removed the C2LET forms, replacing them with C2LET* and temporary variables. 2010-05-25 15:56:41 +02:00
Juan Jose Garcia Ripoll
40d5fede52 New macro C-DECLAIM for file-local declamations that do not propagate outside the file, not even when loaded. 2010-05-25 15:55:53 +02:00
Juan Jose Garcia Ripoll
cfde0986fd DECLAIM did not work because the routine ADD-DEFAULT-OPTIMIZATIONS did not inspect the root environment 2010-05-25 11:31:14 +02:00
Juan Jose Garcia Ripoll
4a20d0d23c Simplify the inline expansion of AREF/ASET using temporary variables for the array dimensions 2010-05-25 11:30:48 +02:00
Juan Jose Garcia Ripoll
d4f96996e3 The CONS-CDR/CAR optimization was not working fully because the interpreter did not support it and because there were macros shadowing the actual functions. 2010-05-23 22:47:36 +02:00
Juan Jose Garcia Ripoll
7457f9524d Minor fixes in the inference of C1FORM types 2010-05-23 16:32:36 +02:00
Juan Jose Garcia Ripoll
c60112a470 New auxiliary functions CONS-CAR/CONS-CDR help in optimizing loops 2010-05-23 16:31:45 +02:00
Juan Jose Garcia Ripoll
5141fad5e0 SEQUENCE-START-END now returns also the length of the sequence 2010-05-21 23:27:49 +02:00
Juan Jose Garcia Ripoll
4be12cb2c0 New C functions for copy-seq and subseq 2010-05-21 11:24:17 +02:00
Juan Jose Garcia Ripoll
909ed7f1c5 Export the utility function SEQUENCE-COUNT 2010-05-20 23:33:16 +02:00
Juan Jose Garcia Ripoll
7e53f79dd2 Proclaim coerce-to-function 2010-05-20 14:58:11 +02:00
Juan Jose Garcia Ripoll
ec0ddc1174 New function SEQUENCE-START-END 2010-05-20 12:30:52 +02:00
Juan Jose Garcia Ripoll
8a29b98f94 C1FORM-REPLACE-WITH now replaces entirely the form, not just creating a VALUES proxy. 2010-05-19 15:20:59 +02:00
Juan Jose Garcia Ripoll
ef797cb513 Management of variable references, read and set nodes, and type updates is now done through the functions in cmpvar.lsp. 2010-05-19 14:20:17 +02:00
Juan Jose Garcia Ripoll
f7ad326bee Changed the order of arguments in ASET to simplify the resulting SETF forms 2010-05-19 10:22:38 +02:00
Juan Jose Garcia Ripoll
a66b041368 New function for extracting values from constant expressions 2010-05-19 09:48:48 +02:00
Juan Jose Garcia Ripoll
d276d2e2ea Add a type update phase for variables in LET forms 2010-05-19 09:48:28 +02:00
Juan Jose Garcia Ripoll
4f2d4679d3 The compiler macro optimizer for MAKE-ARRAY extracts the type from its arguments. 2010-05-19 09:47:46 +02:00
Juan Jose Garcia Ripoll
2f124f7ed9 Fix the order of array index scanning. 2010-05-18 21:47:36 +02:00
Juan Jose Garcia Ripoll
124862f56f Index checking was always active 2010-05-18 21:44:58 +02:00
Juan Jose Garcia Ripoll
01e225a30d Introduce an environment variable to prevent the compiler from deleting files 2010-05-18 16:40:55 +02:00
Juan Jose Garcia Ripoll
7a7c8ff586 The optimizer for RPLACA/D returned not the cons, but the value. 2010-05-18 16:40:30 +02:00
Juan Jose Garcia Ripoll
6d82235b1b Fixed typo in VT-LOC-VALUE 2010-05-18 12:25:11 +02:00
Juan Jose Garcia Ripoll
a01e56cf83 VT-LOC-VALUE, used to retrieve the constant value of C locations, did not handle statically allocated constants 2010-05-18 11:08:37 +02:00
Juan Jose Garcia Ripoll
49d45942c5 M-V-BIND did not handle properly a proclaimed function with a number of return values that exceed the number of bound variables. 2010-05-18 11:08:04 +02:00
Juan Jose Garcia Ripoll
a53b58c076 Fix inline expansions for ELT using a function, ecl_aset1_unsafe, which is no longer in the library. 2010-05-18 09:56:28 +02:00
Juan Jose Garcia Ripoll
a2e2ed1590 Remove debug statements which were emitted as compiler notes 2010-05-18 00:25:49 +02:00
Juan Jose Garcia Ripoll
5553144a40 CMP-EVAL did not use the compiler environment 2010-05-18 00:21:32 +02:00
Juan Jose Garcia Ripoll
6939923450 Missing definition for CHARACTER-DESIGNATOR. 2010-05-17 23:37:47 +02:00
Juan Jose Garcia Ripoll
8d99c6a2b6 Optimize MEMBER with short, constant lists 2010-05-17 23:06:42 +02:00
Juan Jose Garcia Ripoll
a0f102fb0c More accurate type for AND and OR forms 2010-05-17 22:34:14 +02:00
Juan Jose Garcia Ripoll
271f3499d2 C1AND, C1IF and C1OR now optimize directly C2 forms 2010-05-17 22:31:17 +02:00
Juan Jose Garcia Ripoll
aec68adfcc C1NOT now optimizes C2 expressions directly 2010-05-17 21:59:53 +02:00
Juan Jose Garcia Ripoll
050ba3ba60 C2IF can be built using the existing routines for FMLA-OR/AND/NOT 2010-05-17 21:24:20 +02:00
Juan Jose Garcia Ripoll
2f36c1901a The structure of C2FMLA-AND is imposed onto C2FMLA-OR 2010-05-17 17:30:42 +02:00
Juan Jose Garcia Ripoll
8787e482ba C2FMLA-AND reduced to the simplest form. 2010-05-17 17:20:20 +02:00
Juan Jose Garcia Ripoll
59cffab21a Replace trivial DOLIST loops with MAPC in FMLA-AND 2010-05-17 17:04:34 +02:00
Juan Jose Garcia Ripoll
4136fa9fd1 Split FMLA-AND into butlast / last arguments 2010-05-17 16:41:22 +02:00
Juan Jose Garcia Ripoll
367c6783cd Minor simplification in C2FMLA-AND 2010-05-17 16:30:30 +02:00
Juan Jose Garcia Ripoll
d5ce5a2c25 Introduced a new macro, WITH-EXIT-LABEL, for simplifying the FMLA* forms 2010-05-17 16:24:52 +02:00
Juan Jose Garcia Ripoll
7f7027b50f Split the arguments of FMLA-OR into butlast/last pieces 2010-05-17 16:06:41 +02:00
Juan Jose Garcia Ripoll
0484ecd365 Removed unused function C1FMLA 2010-05-17 15:32:52 +02:00
Juan Jose Garcia Ripoll
08bc590b98 C1/C2 phases for OR operator 2010-05-17 15:26:43 +02:00
Juan Jose Garcia Ripoll
7923d1c2d9 Simplify C1ARGS* 2010-05-17 15:26:04 +02:00
Juan Jose Garcia Ripoll
71946d2f3b LOC-REPRESENTATION-TYPE now understands also jumps 2010-05-16 20:33:11 +02:00
Juan Jose Garcia Ripoll
e3c5d46942 Added C1/C2 phases for the NOT operator 2010-05-16 20:32:51 +02:00
Juan Jose Garcia Ripoll
e68fc68da5 Remove code in CJT/CJF which is redundant with optimizations in set-jump-true/false 2010-05-16 19:15:49 +02:00
Juan Jose Garcia Ripoll
7b550ac31e Add inactive code for FMLA-OR/NOT and fix a problem with C1FORM arguments in CJT/CJF/FMLA-AND, etc 2010-05-16 18:55:34 +02:00