Jean Privat [Tue, 25 Aug 2009 15:18:06 +0000 (11:18 -0400)]
misc: update Changelog and NOTICE; remove BUGS and TODO
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Aug 2009 14:41:16 +0000 (10:41 -0400)]
tools: add ncall.sh script to execute nc* in order
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Aug 2009 14:40:08 +0000 (10:40 -0400)]
misc: new syntax file for GNU source-highlight
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Aug 2009 03:08:45 +0000 (23:08 -0400)]
syntax: break closures are implicitly ended with 'break'
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Aug 2009 03:00:32 +0000 (23:00 -0400)]
syntax: fix 'break' with value in default closures
Break return type and return value is associated with the method return
type and return value.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Aug 2009 02:29:55 +0000 (22:29 -0400)]
syntax: allow untyped variable declaration
It means there is now a distinction between variables with a null static
type because of a previous error and untyped variables that also have null
static type. So introduce Variable::is_typed.
Enhance check_is_set with untyped variable verification.
Compile untyped variable as 'nullable Object' registers.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Aug 2009 02:13:10 +0000 (22:13 -0400)]
syntax: assign variable even if there is no base type
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 19:46:22 +0000 (15:46 -0400)]
lib: remove exec::kill and exec::term
Nobody use them now and they cause GCC warning.
Also modify c_src/exec._sep.c since a macro disapeared in lib/standard/exec_nit.h.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 19:27:34 +0000 (15:27 -0400)]
parser: set LANG=C for sed in Makefile (the sed that rename P* -> A*)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 19:19:14 +0000 (15:19 -0400)]
tests: fix test_extern.nit for 64bits
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 19:13:56 +0000 (15:13 -0400)]
gc: fix gc.c for 64bits
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 19:08:15 +0000 (15:08 -0400)]
lib: fix file_nit.c for 64bits
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 20:52:08 +0000 (16:52 -0400)]
syntax: new 'assert else' statement
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 11 Aug 2009 18:45:33 +0000 (14:45 -0400)]
tools: add entrypoint information to the program
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 10 Aug 2009 16:25:11 +0000 (12:25 -0400)]
compile: generate classes init iroutines sooner to insert global analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 8 Aug 2009 17:13:52 +0000 (13:13 -0400)]
compile: store class related IRoutines in MMLocalClass
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 5 Aug 2009 13:34:08 +0000 (09:34 -0400)]
compile: extract table computation from compiling_global to table_computation
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 4 Aug 2009 22:28:47 +0000 (18:28 -0400)]
compile: remove GlobalAnalysis
- Move 'CompiledClasses' to 'Program'
- Rename 'GlobalAnalysis' to 'TableInformation'
- Keep 'max_class_table_length' in 'TableInformation'
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 3 Aug 2009 21:13:21 +0000 (17:13 -0400)]
compile: add 'Program' class to represent a nit program
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Aug 2009 15:46:29 +0000 (11:46 -0400)]
icode: if inlining is impossible, at least use a static call
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 21:11:11 +0000 (17:11 -0400)]
icode: add IAllocateInstance, ICheckInstance and IInitAttributes
Trivially-hacked-by: Jean Privat <jean@pryen.org>
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 19:30:31 +0000 (15:30 -0400)]
icode: add IStaticCall
Trivially-hacked-by: Jean Privat <jean@pryen.org>
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Aug 2009 23:29:51 +0000 (19:29 -0400)]
icode: icode INew specializes IAbsCall (not ICall)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Aug 2009 18:45:52 +0000 (14:45 -0400)]
compile: one closure context by function, and it is the stack frame
Closure definition directly use the stack frame of the caller to access the
closure environment (local variables, closure parameters, escape marker).
Closure function pointers are passed as separate additional arguments.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Aug 2009 17:05:23 +0000 (12:05 -0500)]
clib: move REG to the stack frames
It means that functions have different frame sizes.
To achieve this, each function frame ('me') is stored in a big_frame ('fra')
that contains enough space to store all the REGs.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Aug 2009 17:15:39 +0000 (13:15 -0400)]
clib: rename trace_t to stack_frame_t
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Aug 2009 13:50:55 +0000 (09:50 -0400)]
gc: superficial cleaning
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Fri, 14 Aug 2009 18:11:04 +0000 (14:11 -0400)]
gc: add Nit GC
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Mon, 17 Aug 2009 19:57:06 +0000 (15:57 -0400)]
gc: disable Boehm general malloc and calloc overtaking
Trivially-hacked-by: Jean Privat <jean@pryen.org>
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 19:55:21 +0000 (15:55 -0400)]
clib: new raw_alloc and register_static_object services
Currently, these services are very simples or noop.
However, alternatives GC can provide more complex ones.
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Fri, 14 Aug 2009 17:16:22 +0000 (13:16 -0400)]
compile: traces know REG variables
Also: ask gccx to not warn about missing initializers.
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 14 Aug 2009 16:58:05 +0000 (12:58 -0400)]
compile: initialize local REGS to NIT_NULL
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Fri, 14 Aug 2009 16:49:04 +0000 (12:49 -0400)]
compile: store instance size in class table
This new information can be used by GC to visit the attributes of an object.
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Mon, 17 Aug 2009 19:30:11 +0000 (15:30 -0400)]
gc: runtime option to handle different GC
Hacked-by: Jean Privat <jean@pryen.org>
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Fri, 14 Aug 2009 16:02:09 +0000 (12:02 -0400)]
compile: give NativeArray its own C structure
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Julien Chevalier [Mon, 17 Aug 2009 19:13:06 +0000 (15:13 -0400)]
compile: object_id is no more the object pointer
Warning: now, two objects of the same class can have the same object_id.
It is unlikely, but possible.
Trivially-hacked-by: Jean Privat <jean@pryen.org>
Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 16:09:57 +0000 (12:09 -0400)]
clib: move files to the clib directory
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 15:53:56 +0000 (11:53 -0400)]
c_src: gives c_src its own clibdir
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 15:52:32 +0000 (11:52 -0400)]
clib: add copyright notice to nit_{common,main}
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 15:39:28 +0000 (11:39 -0400)]
clib: clean spaces in nit_common.h
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 15:22:35 +0000 (11:22 -0400)]
c_src: copy only .o and .cksum on bootstrap
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 14 Aug 2009 19:33:34 +0000 (15:33 -0400)]
syntax: fatal error on unavailable primitive method
Warning: signature of primitive methods is not checked.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 14:29:05 +0000 (10:29 -0400)]
icode: do no do recursive inline
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 19:01:15 +0000 (15:01 -0400)]
icode: inline methods with closures
Warning, break of closure call cannot be inlined.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 18:54:41 +0000 (14:54 -0400)]
compile: force inlining with special class Inline__
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 17 Aug 2009 18:50:01 +0000 (14:50 -0400)]
icode: duplicate ICodeN::closure_defs in dup_with
Fix issue with inlining of calls with closures.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 14 Aug 2009 20:48:24 +0000 (16:48 -0400)]
icode: use the icb to helps the icode duplication
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 17:14:54 +0000 (13:14 -0400)]
icode: iroutine knows its local registers
iroutine inlining is also adapted to only duplicate local registers.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 17:07:26 +0000 (13:07 -0400)]
icode: closures are generated within a ICodeBuilder
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 16:21:36 +0000 (12:21 -0400)]
icode: method inlining moves from IRoutine to ICodeBuilder
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 11 Aug 2009 05:28:11 +0000 (01:28 -0400)]
icode: fix slot locality for params and return
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 16:01:40 +0000 (12:01 -0400)]
icode: 'IRoutine::optimize' need a module
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 14:25:58 +0000 (10:25 -0400)]
icode: remove method info from ICodeBuilder
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Aug 2009 14:25:17 +0000 (10:25 -0400)]
icode: remove method information in IAbort
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Aug 2009 19:10:22 +0000 (15:10 -0400)]
syntax: 'do' blocks only accept labelled breaks
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Aug 2009 14:54:49 +0000 (10:54 -0400)]
syntax: error on local variable masking
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Aug 2009 14:52:29 +0000 (10:52 -0400)]
syntax: better location for local variable declarations
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 4 Aug 2009 14:02:43 +0000 (10:02 -0400)]
syntax: remove local variable masking
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 21:07:41 +0000 (17:07 -0400)]
syntax: add 'loop' construction
Also:
* add test
* update vim
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 20:30:41 +0000 (16:30 -0400)]
lib: rename IndexedCollection to Sequence
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 18:44:12 +0000 (14:44 -0400)]
lib: split hash into hash_collection
Also update dependency:
* hash depends only on kernel (not string)
* hash_collection depends on array and hash
* string depends on hash
Move String::hash from hash to string
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 18:09:34 +0000 (14:09 -0400)]
lib: new /lib/standard/collection directory
* Update tests.sh to add the new -I for some base_* tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Aug 2009 15:27:43 +0000 (11:27 -0400)]
tests: remove broken shootout_pidigits
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 16:02:05 +0000 (12:02 -0400)]
misc: vim: better indentation of closures
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 14:14:48 +0000 (10:14 -0400)]
tests: do not execute while in a sub-processus
In a sub-processus, shell variable assignment are lost.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 14:07:04 +0000 (10:07 -0400)]
tests: use [ ] instead of [[ ]] in Makefile
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Aug 2009 14:06:20 +0000 (10:06 -0400)]
tests: update nitdoc sav
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 1 Aug 2009 02:44:33 +0000 (22:44 -0400)]
syntax: closure are designed by their names, not their ranks
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 1 Aug 2009 01:55:38 +0000 (21:55 -0400)]
syntax: [] method can have closure definition
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 1 Aug 2009 01:49:49 +0000 (21:49 -0400)]
parser: oneline assignment for 'return' and 'continue'
Example
fun foo: Int = 5
is equivalent to
fun foo: Int do return 5
and
foo !bar = 5
is equivalent to
foo !bar do continue 5
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 31 Jul 2009 20:53:46 +0000 (16:53 -0400)]
parser: closure syntax use '!' instead of 'with'
However, old semantic remains: names are useless, only the order maters.
(cf. new alternatives)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 31 Jul 2009 19:34:39 +0000 (15:34 -0400)]
tests: add base_closure_forms
Is used to illustrate the 3 standard uses of closures.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Thu, 30 Jul 2009 19:54:10 +0000 (15:54 -0400)]
tools: return value of nitc for nc
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Thu, 30 Jul 2009 15:10:22 +0000 (11:10 -0400)]
tests: add test for nitdoc
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 29 Jul 2009 20:51:30 +0000 (16:51 -0400)]
tests: reorganize imports for nitc call
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 29 Jul 2009 19:43:26 +0000 (15:43 -0400)]
tests: allow '.write' to be directories
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 28 Jul 2009 17:16:56 +0000 (13:16 -0400)]
tests: validate file existence of file to test before tests
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 30 Jul 2009 14:08:33 +0000 (10:08 -0400)]
parser: perl code of prescc looks at all parameters in a line
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 30 Jul 2009 13:39:51 +0000 (09:39 -0400)]
parser: correct error messages for syntax errors
And get rid of the useless error_messages table.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 18:16:19 +0000 (14:16 -0400)]
syntax: arity missmatch error messages show prototypes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 30 Jul 2009 01:48:39 +0000 (21:48 -0400)]
parser: remove attr and meth alternatives
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 13:54:16 +0000 (09:54 -0400)]
parser: fix test_parser
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 13:53:50 +0000 (09:53 -0400)]
parser: import only location, not the whole mmloader
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 13:50:18 +0000 (09:50 -0400)]
parser: node locations are not nullable
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 13:40:56 +0000 (09:40 -0400)]
parser: compute location for all nodes
Also remove first_token and last_token.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 02:48:26 +0000 (22:48 -0400)]
parser: also visit EOF token
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 02:46:55 +0000 (22:46 -0400)]
tools: showerr.sh to colorize nc* outputs
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 29 Jul 2009 02:45:15 +0000 (22:45 -0400)]
tools: correctly display multiline locations
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 27 Jul 2009 20:43:41 +0000 (16:43 -0400)]
parser: remove useless printl method
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 27 Jul 2009 14:40:14 +0000 (10:40 -0400)]
parser: use xss comments to clean make output
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 30 Jul 2009 01:38:37 +0000 (21:38 -0400)]
parser: remove spaces errors in generated files
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 28 Jul 2009 13:26:47 +0000 (09:26 -0400)]
syntax: vararg arguments are processed by icode
syntax/typing.nit does the type verification only.
syntax/icode_generation generate the implicit Array for vararg.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 27 Jul 2009 19:56:32 +0000 (15:56 -0400)]
syntax: generalize and publicize raw_arguments concept
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 24 Jul 2009 16:50:43 +0000 (12:50 -0400)]
tests: use most recent nitc if not supplied
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 24 Jul 2009 15:30:59 +0000 (11:30 -0400)]
tests: better handling of 'make failed' when no failed tests
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 24 Jul 2009 05:15:39 +0000 (01:15 -0400)]
tests: do not overwrite 'errlist' on hard exit
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Thu, 23 Jul 2009 16:37:03 +0000 (12:37 -0400)]
tests: allow multiple lines in argument files
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 24 Jul 2009 04:19:59 +0000 (00:19 -0400)]
tools: add test to validate existence of needed classes
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 24 Jul 2009 04:19:18 +0000 (00:19 -0400)]
tools: add 'get_type_by_name' and 'get_instantiated_type_by_name'
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 27 Jul 2009 06:59:57 +0000 (02:59 -0400)]
icode: discard unused pure ICode expressions
Up to now, only unused IMove expressions where discarded.
So we also distinguish pure ICode from non pure ICode.
Signed-off-by: Jean Privat <jean@pryen.org>