Commit graph

192 commits

Author SHA1 Message Date
Gwenaël Delaval
58086190eb Headers and license file for GPL
Headers for every source file (excluding examples), mentioning
authors, copyright and license (GPL)

COPYING file with GPLv3 content.
2012-06-27 18:14:29 +02:00
Cédric Pasteur
8815a2cd03 Better handling of clocks in memalloc
- We can do a better allocation if we take into
account 'when' in extvalues 
(test/good/memalloc_clocks.ept shows the
improvement)
- Fixed a bug with memalloc on records: if we 
translate:
o = { a with .f = u }
to
o = a; o.f = u
then we cannot share u and o.f
2012-06-20 09:17:13 +02:00
Léonard Gérard
c1b8e47ffb Fixed escape of string in java 2012-02-21 14:39:35 +01:00
Adrien Guatto
f43fcb78f6 Only inline integer extvalues when unrolling 2012-02-08 18:31:51 +01:00
Adrien Guatto
ec0274cc82 C backend: do not inline consts by default. 2012-02-08 17:49:21 +01:00
Adrien Guatto
fa09d86dc1 Unrolling in C backend. 2012-02-08 17:47:28 +01:00
Adrien Guatto
76ae2f4518 Loop unrolling. 2012-02-08 16:16:41 +01:00
Adrien Guatto
998b3b0b89 Generate C89 2012-01-25 12:42:14 +01:00
Léonard Gérard
b86555e013 global env misc 2011-12-12 11:08:47 +01:00
Cédric Pasteur
54cde301f6 C code generation for printf 2011-12-12 10:36:24 +01:00
Adrien Guatto
0f71dbe145 Bitwise or. 2011-12-06 17:46:35 +01:00
Adrien Guatto
8d772e20e2 Bitwise and. 2011-12-06 15:44:21 +01:00
Adrien Guatto
1ec15b9409 Bitwise operators on integers. 2011-12-06 15:44:21 +01:00
Adrien Guatto
5097c62449 C backend: put memory of the main node in a global variable. 2011-12-05 10:18:50 +01:00
Cédric Pasteur
add09fe465 Fixed complexity of control optimization 2011-11-29 13:34:50 +01:00
Léonard Gérard
5be7a6acc2 java main void return handling 2011-11-25 18:56:15 +01:00
Léonard Gérard
05750352f8 pat_ty ne semble pas fiable. Voir t19.ept 2011-11-25 18:55:12 +01:00
Cédric Pasteur
3369f6dffc Don't forget to optimise control recursively 2011-11-24 16:10:14 +01:00
Léonard Gérard
57f7da94c2 Deal with const ref in Java. 2011-11-21 11:42:26 +01:00
Cédric Pasteur
641b76133d Don't inline all const 2011-11-21 10:55:53 +01:00
Léonard Gérard
fdab1ac55c Strict-SSA option to switch array encoding. 2011-11-21 03:26:26 +01:00
Léonard Gérard
adc47c536a Improve Java printing and main.
genToString is a fully generic to string function
dealing with arrays, primitive arrays, etc.
2011-11-21 03:26:25 +01:00
Léonard Gérard
7b281317f4 fix scalarize 2011-11-20 22:37:00 +01:00
Léonard Gérard
9d8a0be512 Improve scalarize 2011-11-18 12:33:37 +01:00
Léonard Gérard
efa6b5cf70 Correct scalarize and java load_conf 2011-11-18 12:32:37 +01:00
Léonard Gérard
be28156de9 Add a simplify pass to Obc 2011-11-18 12:32:37 +01:00
Léonard Gérard
9274ef24aa Java support type alias. 2011-11-18 12:32:37 +01:00
Léonard Gérard
35a9a24467 Correct obc_mapfold 2011-11-18 12:32:37 +01:00
Léonard Gérard
2a6dab836a Add alias to obc vd. 2011-11-18 12:32:37 +01:00
Léonard Gérard
fa956a00ad Remarques pour Control 2011-11-18 12:32:37 +01:00
Léonard Gérard
bdd85f5f81 mapfold over var_ident. 2011-11-18 12:32:36 +01:00
Léonard Gérard
3e64635f95 optimize the control at the end to maximize profit
Indeed, some examples showed that memory allocation could trigger a profit-full deadcode removal for the control. See Downscaler.down avec -flatten.
2011-11-03 00:43:36 +01:00
Léonard Gérard
919eaa72e1 Fix floating point printing. 2011-11-02 16:08:51 +01:00
Léonard Gérard
50487f9296 Fix java main to deal with unit return type. 2011-11-02 16:07:19 +01:00
Léonard Gérard
04263a126b Correct small bug in java initialized arrays. 2011-11-02 16:04:47 +01:00
Léonard Gérard
ef4478e37e removed some stupid warnings. 2011-10-14 13:33:34 +02:00
Cédric Pasteur
175c8e34ff Fixed control fusion 2011-10-05 10:49:51 +02:00
Cédric Pasteur
36c1c7252e Fixed memalloc application with fields 2011-09-15 16:55:17 +02:00
Cédric Pasteur
1c43a8b1ac Fixed code generation for constant arrays 2011-09-14 09:08:28 +02:00
Cédric Pasteur
1d6b68cef6 Fix syntax for ocaml < 3.12 2011-09-09 17:03:54 +02:00
Cédric Pasteur
4d912e9349 Added more options for memalloc
There is now three options for memory allocation:
  - -only-linear activates only the linear 
annotations (with typing and code generation)
  - -only-memalloc does only memory allocation
  - -memalloc does both

When linear typing is not activated, linearity 
annotations are ignored (the signature in the .epi
does not contain the annotations)
2011-09-09 16:05:44 +02:00
Cédric Pasteur
eb18342c33 Do not forget to also traverse local linear vars 2011-09-09 16:00:21 +02:00
Cédric Pasteur
b0bb7ad39f Fixed problem with application of memalloc 2011-09-09 15:53:15 +02:00
Cédric Pasteur
c550b09805 Fixed code generated for alias types to arrays 2011-09-09 13:54:29 +02:00
Cédric Pasteur
53043b403c Small fixes in the C backend 2011-09-07 13:24:33 +02:00
Cédric Pasteur
732a956855 Adapt to the (not so) new extvalues 2011-09-06 15:56:07 +02:00
Cédric Pasteur
eec957cc6a Use underscores for generated variables 2011-09-06 14:42:34 +02:00
Cédric Pasteur
2147402a20 Const should be declared static
Otherwise the C compiler complains about multiple
definitions of the same symbol
2011-09-06 14:31:14 +02:00
Cédric Pasteur
4cd506f3db Added c ast for constant
Also print only short names for struct fields
2011-09-06 14:20:57 +02:00
Cédric Pasteur
8cc879be7a Generate code from interface (.epi) files
It includes the definition of types, constants
and prototypes defined in the interface.
2011-09-06 11:55:06 +02:00