660 Commits (14e7c21e541b40d6ce70dcfd7c57fd702b4f4bda)

Author SHA1 Message Date
Cédric Pasteur f4aafa10d6 Added a build system for Heptagon
./configure 
make
make install
13 years ago
Léonard Gérard 81ad14ab7b changed interf_schedule to use clocks correctly 13 years ago
Cédric Pasteur 21433f6416 Only do one copy for two recursive registers 13 years ago
Cédric Pasteur 72cac326a8 Fixed normalization of fby
We should normalize not only outputs but also 
other fbys to generate correct code. The test shows
a program that was compiled incorrectly.
13 years ago
Cédric Pasteur a31715ecde Proper fix for causality
This time it should work in all cases
13 years ago
Cédric Pasteur 85be1252b0 Another try to fix causality of linear ifs 13 years ago
Adrien Guatto 1ec97d187b Adapted minimization to reinit. 13 years ago
Cédric Pasteur 04b8853a1d Added a new reinit operator
It has type:
reinit: t at r * t -> t at r

It can be used to put a constant value in a 
location.
13 years ago
Cédric Pasteur 4f9a91eebd Fixed dependency issue with linear splits 13 years ago
Cédric Pasteur e2d4d33d97 Fixed linear typing with args that are tuples 13 years ago
Cédric Pasteur c2ab607195 Fix for causality when using linear types 13 years ago
Cédric Pasteur 6fefd551b1 Fixed typing of iterators in some cases
If a variable is already used linearly before,
do not reuse it linearly
13 years ago
Cédric Pasteur 0f403e3694 Fix for wrong number of expected args 13 years ago
Léonard Gérard ef4478e37e removed some stupid warnings. 13 years ago
Adrien Guatto ee2f5ca443 Tomato: simplification + update signature via modules.
test/good/linear_init.ept now compiles.
13 years ago
Cédric Pasteur 1aac6f7be4 Fixed bug in unicity check in linear typing
Test case included
13 years ago
Adrien Guatto 3269a04052 Do not inline linear extended values. 13 years ago
Adrien Guatto 30089e7d0f Fixed extvalue inlining w.r.t. linear copy 13 years ago
Cédric Pasteur 175c8e34ff Fixed control fusion 13 years ago
Adrien Guatto d0ed09c3e5 Ext-value inlining pass. 13 years ago
Cédric Pasteur 902cbaf7a1 Fixed error with memalloc and const value with when 13 years ago
Adrien Guatto 2fb27770b8 Fixed iterator minimization bug. 13 years ago
Cédric Pasteur 80f24b747c Updated comments 13 years ago
Cédric Pasteur 36c1c7252e Fixed memalloc application with fields 13 years ago
Cédric Pasteur 1231afdbb1 Fixed inlining
Inlining is now recursive.
13 years ago
Cédric Pasteur 26ad2739dd Inlined version of mission control 13 years ago
Cédric Pasteur da3660c08c Tweaked the printer to generate correct code
There is still a big problem with priority
of operators
13 years ago
Cédric Pasteur 339feaa747 Ignore unknown nodes (instead of crashing) 13 years ago
Cédric Pasteur 1c43a8b1ac Fixed code generation for constant arrays 13 years ago
Cédric Pasteur 3a9dc1c34d Small fixes in Inline
Also inline function calls, not only nodes.
13 years ago
Cédric Pasteur 1d6b68cef6 Fix syntax for ocaml < 3.12 13 years ago
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)
13 years ago
Cédric Pasteur eb18342c33 Do not forget to also traverse local linear vars 13 years ago
Cédric Pasteur b0bb7ad39f Fixed problem with application of memalloc 13 years ago
Cédric Pasteur c550b09805 Fixed code generated for alias types to arrays 13 years ago
Cédric Pasteur 9427117fe1 Fixed linear typing of accumulators 13 years ago
Cédric Pasteur eb0a19926c Erase all linearities if memalloc is not activated 13 years ago
Cédric Pasteur 08437bf448 Fixed linear typing of nested calls 13 years ago
Cédric Pasteur 7bf5f3f323 Fixed typing of iterator 13 years ago
Cédric Pasteur 09afb3aca4 Fixed invalid types in static expressions 13 years ago
Cédric Pasteur 70787757aa Fixed normalization of fby
The incorrect behaviour was introduced in commit
6b86b86e9d.

We should have:
       o = v fby e
     becomes
       mem_o = v fby e;
       o = mem_o

The old way would break with:
 v = true fby false fby v
that would generate unschedulable code.
13 years ago
Cédric Pasteur 2105d7ad18 Fix for linear types and automata 13 years ago
Cédric Pasteur 81947eca40 Made linearity field not optional
This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
13 years ago
Cédric Pasteur 29a6721121 Fix for dep when using linear types and automata 13 years ago
Cédric Pasteur 9d1702587a Fix interaction between tomato and memalloc
Take linearity into account when comparing exps
13 years ago
Cédric Pasteur caa43f163f Added dependency from a read to a linear read
This got lost along the way when porting memalloc
to the new branch
13 years ago
Cédric Pasteur 53043b403c Small fixes in the C backend 13 years ago
Cédric Pasteur 7119ca1050 Made the argument non optional 13 years ago
Cédric Pasteur 7ac567cc35 Update the signature instead of recreating it
This avoids losing additional info in the
signature (such as linearity)
13 years ago
Cédric Pasteur 732a956855 Adapt to the (not so) new extvalues 13 years ago