Commit Graph

30 Commits

Author SHA1 Message Date
Andreas Rumpf
f8bf24623c explicit default values for a leaner codegen, .cursor variables for optimization 2019-03-07 12:50:33 +01:00
Andreas Rumpf
cfd5210405 dfa.nim: continues are bad 2019-03-06 09:00:06 +01:00
Andreas Rumpf
4be36d77f6 introduce tfHasOwned for fast must-move checkings; removed tfAcyclic as the GC has ignored this hint for quite some time now 2019-03-05 19:58:54 +01:00
Andreas Rumpf
9c6b628df6 DFA: fixes wrong 'def' instruction emission 2019-03-05 05:54:08 +01:00
Andreas Rumpf
3e922d0fec destructors/dfa: more documentation 2019-03-04 22:41:50 +01:00
cooldome
690f21043d isLastRead regression fix (#10463)
* fixes #10462

* add a test
2019-01-28 08:32:14 +01:00
Andreas Rumpf
11022fea1b control flow graphs: introduce 'join' points for easy analyses based on abstract interpretation 2019-01-23 11:08:51 +01:00
Timothee Cour
beed27b75d improve vmgen.codeListing formatting (#10306)
* improve vmgen.codeListing formatting
* address comments
2019-01-15 19:02:01 +01:00
Andrii Riabushenko
dc935f2b41 use control flow graph for sink params 2018-12-09 18:32:43 +00:00
Araq
234bed1b38 destructors; fixes #9594 2018-11-02 11:29:31 +01:00
Andreas Rumpf
b39302b0d2 DFA: implement exception handling properly 2018-10-14 17:36:55 +02:00
Andreas Rumpf
33cdae8c32 dfa.nim: clarify exception handling 2018-10-13 08:28:56 +02:00
Andreas Rumpf
2fecf4f36a compiler: cleanup dfa.nim 2018-10-12 19:56:51 +02:00
Araq
40e01d8549 don't require an implementation for procs marked with .error; activate the move optimizer for destructors 2018-09-29 16:54:59 +02:00
Andreas Rumpf
669a564492 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
Andreas Rumpf
feef109e60 make tests green again 2018-05-18 20:53:41 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Andreas Rumpf
fedc136985 transf and vmgen compile again 2018-05-12 09:38:41 +02:00
Andreas Rumpf
1310279691 lambda lifting compiles again 2018-05-12 08:30:55 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Andreas Rumpf
a74dfcfd00 DFA: code cleanups and some support for consuming operations 2017-12-27 12:22:47 +01:00
Andreas Rumpf
8e7829ff82 DFA attempt to capture the essence of linear types 2017-12-23 19:50:15 +01:00
Andreas Rumpf
c2d91771bc DFA works for simple examples 2017-12-21 19:05:23 +01:00
Araq
2502f86d2f next steps in giving Nim a decent DFA infrastructure 2017-12-18 13:12:10 +01:00
Gerke Max Preussner
d3f966922e Fixed koch warning when installing Nim. (#6898) 2017-12-12 14:43:12 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
ec253ada72 initial version of the new untested destructor pass 2017-10-12 11:32:29 +02:00
Andreas Rumpf
cf01cb1935 preparations for a new AST transformation pass with the aim of giving us reliable destructors 2017-10-09 21:12:40 +02:00
Andreas Rumpf
7eaa2474a2 disable the new DFA 2017-10-09 21:12:40 +02:00
Andreas Rumpf
b9511a2d7f work in progress: a dataflow architecture for Nim 2017-10-09 21:12:40 +02:00