Commit graph

442 commits

Author SHA1 Message Date
Cédric Pasteur
401aaeeb89 Type declarations should also be typed
This is necessary so that the static expressions
appearing in those types are correctly typed.
2011-04-21 16:29:24 +02:00
Léonard Gérard
6b86b86e9d really fix normalize_mem.
in the old fix was missing the renaming, and there was wrong equations
order :
f () returns x
[here rename x by mem_x]
mem_x = fby ...
x = mem_x

so the simplest was :
f () returns out_x
var x;
[ nothing to do]
out_x = x
x = fby ...

pay attention to the order of equations since we are after the
scheduling..
probably it should be done before the scheduling anyway ?
2011-04-20 20:47:06 +02:00
Léonard Gérard
5fb518d8ed Java bugfix 2011-04-20 17:33:50 +02:00
Léonard Gérard
73abbad1f9 small java module fix 2011-04-20 17:24:09 +02:00
Cédric Pasteur
2757e7c1bf Fixed normalized_mem
It inverted the order of equations
2011-04-20 16:23:44 +02:00
Léonard Gérard
d6240e1c67 100 and java scalarized 2011-04-19 18:45:56 +02:00
Cédric Pasteur
802178fb28 Added a pass to normalize memories
This adds a copy for outputs that are also
memories.
2011-04-19 17:19:40 +02:00
Cédric Pasteur
845d084658 Preserve the order of type and classes definitions 2011-04-19 13:08:35 +02:00
Cédric Pasteur
073ccc2603 Better handling of static arrays 2011-04-19 12:58:41 +02:00
Leonard Gerard
220db42076 java readded 2011-04-19 11:39:37 +02:00
Cédric Pasteur
740114764c Fixed stupid bug in the order of args 2011-04-19 10:38:48 +02:00
Leonard Gerard
3618ccc8ed parser fix 2011-04-19 10:14:19 +02:00
Cédric Pasteur
a2303ec7e1 Other compile fixes
The java backend is disabled temporarily
2011-04-19 09:49:00 +02:00
Cédric Pasteur
3c8fc39745 Fix C backend with new obc ast 2011-04-19 09:23:52 +02:00
Cédric Pasteur
028dfe0468 Fix for nested if and merge with tuples 2011-04-19 09:04:36 +02:00
Leonard Gerard
8da5ce4648 no order in declarations 2011-04-18 19:20:35 +02:00
Cédric Pasteur
03f0d5d89a Fixed stupid bug #1 2011-04-18 17:14:50 +02:00
Leonard Gerard
c0602c6df6 etuple removed 2011-04-18 16:09:07 +02:00
Leonard Gerard
5c831db40b removed warning 9 2011-04-18 15:47:25 +02:00
Cédric Pasteur
c6aa63b444 Heptc compiles again
AFor now expects expressions instead of static exps
2011-04-18 15:38:42 +02:00
Cédric Pasteur
c6991977a0 Missing case in normalize
Distribute also static tuples
2011-04-18 09:52:03 +02:00
Léonard Gérard
5d2f7dfa85 jeudi soir. still on mls2obc. 2011-04-14 20:14:21 +02:00
Cédric Pasteur
f57d7f1589 Correct translation for Eupdate and Eupdate_field
As the language is SSA, we should assign each 
element only once.
2011-04-14 15:14:41 +02:00
Cédric Pasteur
c23b9256f0 Also forgot to re-enable scalarize 2011-04-14 14:18:24 +02:00
Cédric Pasteur
975418ffff Missing part from last commit 2011-04-14 13:56:24 +02:00
Cédric Pasteur
57bc9f210b Added a generic onfiguration for backends
Each backend gives a function used to 
enable/disable passes, executed before the
beginning of the compilation
2011-04-14 13:53:30 +02:00
Cédric Pasteur
2f346f873c Control optimization as a pass on Obc
There is now a obc_compiler.ml file, as in hept
and minils.
2011-04-14 11:53:39 +02:00
Cédric Pasteur
6f0c9af006 First port of mls2obc
Does not compile yet
2011-04-14 11:17:12 +02:00
Cédric Pasteur
e2e8a93656 Hept2mls ported and very simplified
Does not compile yet
2011-04-14 10:00:06 +02:00
Cédric Pasteur
d2c4f09aa2 Indentation fixes + remove unnecessary code 2011-04-14 10:00:06 +02:00
Léonard Gérard
12bd4e9c45 Types. 2011-04-14 09:23:38 +02:00
Cédric Pasteur
6adb45c3ad Normalize in Heptagon compiles 2011-04-13 16:21:28 +02:00
Cédric Pasteur
611c94bbbd Itfusion moved to heptagon 2011-04-13 15:10:15 +02:00
Cédric Pasteur
cbf92beba2 First try at a normalization in Heptagon
I can't see if it compiles yet
2011-04-13 14:40:06 +02:00
Cédric Pasteur
2c7b609d2e Forme normale Minils 2011-04-12 14:07:05 +02:00
Léonard Gérard
0fc0c3ba5b Java main pretty print 2011-03-23 20:31:26 +01:00
Léonard Gérard
9714cf0be9 Java fix, initialization order 2011-03-23 18:24:25 +01:00
Léonard Gérard
46ed02416b Convolutions and pip working. 2011-03-23 16:53:01 +01:00
Léonard Gérard
0aef6fcb5b pattern_of_idx in right order.
Probably array_elt_of_exp is also wrong.
2011-03-23 16:52:32 +01:00
Cédric Pasteur
2fdf2855d3 Added a new truncated select operator
a[>e<] returns the element in the array at index
e, a[0] if e < 0 and a[n-1] if e >= n
2011-03-22 22:12:59 +01:00
Cédric Pasteur
99eeacbceb Added mapi iterator
The last argument of the iterated function is the
index of the element in the array.
2011-03-22 09:28:41 +01:00
Léonard Gérard
36061f4518 fixed tests to the new iterator syntax.
Changed (( and )) to (< and >) since it's very common to write )) !
2011-03-21 22:24:37 +01:00
Léonard Gérard
b913edcd5e Decade alpha1
On the road to beta is the new Minils AST, for now :

* Heptagon and Obc AST changes,
* Java code generation,
* Recursives Qualnames,
* Various bug fixes,

* Added partial application for iterators,
For instance:
  ... = map<<n>> (f<<se>>)((t1, t1'))(t2, t3)
is translated to:
  for(int i =...)
    ... = f(t1, t1', t2[i], t3[i])
2011-03-21 22:24:36 +01:00
Léonard Gérard
6b720e6c23 Merge branch 'java'
Conflicts:
	.gitignore
	compiler/global/global_printer.ml
	compiler/main/mls2obc.ml
2011-03-21 22:21:00 +01:00
Léonard Gérard
b8b16a7355 blop 2011-03-21 17:41:00 +01:00
Léonard Gérard
c602eca062 cgen todo. 2011-03-21 17:41:00 +01:00
Léonard Gérard
02730b8a0b refactoring static evaluation. 2011-03-21 17:41:00 +01:00
Léonard Gérard
c96d05b1eb updated todo and refactoring. 2011-03-21 17:40:59 +01:00
Léonard Gérard
ecc79c3a53 bug fix n-dimension arrays. 2011-03-21 17:40:59 +01:00
Cédric Pasteur
b1b8e103f2 Added partial application for iterators
For instance:
  ... = map<<n>> (f<<se>>)((t1, t1'))(t2, t3)

is translated to:
  for(int i =...)
    ... = f(t1, t1', t2[i], t3[i])
2011-03-21 17:22:03 +01:00