Commit graph

4069 commits

Author SHA1 Message Date
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
38d0b5fa47 New symbol COMPLEX-ARRAY needed by the type ladder 2010-05-18 12:24:54 +02:00
Juan Jose Garcia Ripoll
9ab000c2d6 Solved a problem with type intersections between SIMPLE-ARRAY and ARRAY. 2010-05-18 12:24:21 +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
27119740bf Add a few missing references to LONG-FLOAT and SHORT-FLOAT types in predlib.lsp 2010-05-18 10:04:24 +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
58060f708f The aliases for encodings did not load the original encodings themselves. 2010-05-17 23:35:50 +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
Juan Jose Garcia Ripoll
a1fdddcf8f Added C1/C2 phases for AND/OR 2010-05-16 17:33:21 +02:00
Juan Jose Garcia Ripoll
dbde7df2b7 Add SIGNAL-TYPE-ERROR also to symbols_list2 2010-05-16 17:31:55 +02:00
Juan Jose Garcia Ripoll
ae8090a67f When traversing a C1FORM, pay attention to non-cons, non-c1form objects 2010-05-16 17:31:22 +02:00
Juan Jose Garcia Ripoll
7252dbe3ae More meaningful internal error messages in cmpexit 2010-05-16 17:30:22 +02:00
Juan Jose Garcia Ripoll
c0999b43d2 In set-jump-true/false, optimize away constant locations 2010-05-15 21:55:13 +02:00
Juan Jose Garcia Ripoll
a03830bf04 Add yet inactive expansion of MEMBER for constant, short lists 2010-05-15 21:54:53 +02:00
Juan Jose Garcia Ripoll
c90d6ed6bb In cmploc/cmpwt, we are now capable of determining the constant value of a location 2010-05-15 21:54:27 +02:00
Juan Jose Garcia Ripoll
9ede271245 In cmpct.lsp, locations VV were nested (VV (VV index)). 2010-05-15 21:52:47 +02:00
Juan Jose Garcia Ripoll
4166a7d75f Remove debug statements from cmpopt-constant.lsp 2010-05-15 21:01:21 +02:00
Juan Jose Garcia Ripoll
d50ddfcee3 Fixed typo in proclamation code 2010-05-15 21:00:58 +02:00
Juan Jose Garcia Ripoll
4614a040d4 New function for detecting arbitrary constant expressions. 2010-05-15 20:28:42 +02:00
Juan Jose Garcia Ripoll
21113c913a In IF statements, optimize away constant expressions. 2010-05-15 20:04:21 +02:00
Juan Jose Garcia Ripoll
b53395301f The IF form analyzer performs macroexpansion of the predicates to better extract information from them 2010-05-15 17:48:25 +02:00
Juan Jose Garcia Ripoll
554c43ab67 When in unsafe mode, do not use the checked functions to perform C<->Lisp type coercions 2010-05-15 16:56:53 +02:00