Commit graph

4395 commits

Author SHA1 Message Date
Folkert
71232524eb Merge remote-tracking branch 'origin/trunk' into morphic-recursive-types 2021-07-16 20:44:55 +02:00
Folkert
abbbc67caf alias analysis for NonNullableUnwrapped 2021-07-16 20:42:33 +02:00
Folkert
720440b3f9 alias analysis for NullableWrapped 2021-07-16 20:22:59 +02:00
Folkert
03422a9907 alias analysis for NullableUnwrapped 2021-07-16 20:16:56 +02:00
Folkert
9b8f8b3c16 AppliedTag don't unroll recursive layouts 2021-07-16 18:23:57 +02:00
Folkert
743e8bd86f stop defining the tag id when it is not used 2021-07-16 18:17:21 +02:00
Folkert
c42a530ec0 fix reading the wrong memory 2021-07-16 18:15:03 +02:00
Folkert
97f15bbb49 Tag don't unroll recursive types 2021-07-16 18:10:55 +02:00
Folkert
7dd440f642 morphic Recursive types 2021-07-16 17:55:03 +02:00
Folkert
71672bb7ad prevent unrolling of recursive types 2021-07-16 17:54:44 +02:00
Folkert
2bc3ddae46 fix bug in casting recursive pointers 2021-07-16 17:51:41 +02:00
Folkert
23867296a4 encode tag id in pointer and use it to read tag id 2021-07-15 23:44:00 +02:00
Folkert
0eb0d2457d add helpers 2021-07-15 23:07:10 +02:00
Folkert
8e54023d60 foundation for encoding recursive types 2021-07-15 15:16:09 +02:00
Richard Feldman
c415b3b799
Merge branch 'trunk' into reset-reuse 2021-07-14 22:45:42 -04:00
Folkert
d464c005f0 encode tag unions as morphic unions 2021-07-14 23:26:19 +02:00
Folkert
785b4539af less code 2021-07-14 22:22:33 +02:00
Folkert
15eba1a687 give it another go 2021-07-14 17:55:53 +02:00
Folkert
de78415613 fix reporting suggestion 2021-07-14 17:32:56 +02:00
Folkert
568e4e390a fix 2021-07-14 17:27:11 +02:00
Folkert
2c604f96e0 clarify block names 2021-07-14 17:21:48 +02:00
Folkert
771599165b cleanup build_reset usage 2021-07-14 17:16:45 +02:00
Folkert
1beed7f759 implement function_R invoke 2021-07-14 16:58:49 +02:00
Folkert
8a1a643e3b refactor function_r branch body 2021-07-14 16:52:56 +02:00
Folkert
0171fd0959 remove Boxed 2021-07-14 15:33:59 +02:00
Folkert
fe4fc1c92a bundle compiler rt when building assembly backend obj file 2021-07-14 14:25:54 +02:00
Folkert
3a0ba76f8b Merge remote-tracking branch 'origin/trunk' into add-dec-types 2021-07-14 14:19:30 +02:00
Folkert
7d91cb4cd7 clippy 2021-07-14 00:56:16 +02:00
Folkert
1bea704272 only expand recursive tag unions if it's a different type (think linked-list of trees) 2021-07-14 00:48:10 +02:00
Folkert
7701596469 small tweaks to llvm code gen 2021-07-14 00:47:37 +02:00
Folkert
c45637d0fd cleanup in refcounting 2021-07-14 00:41:49 +02:00
Folkert
26b05d18f2 improvements to reset reuse 2021-07-14 00:40:48 +02:00
Folkert
bcf23d5699 Revert "improvements to reset reuse"
This reverts commit e0ce2892ad.
2021-07-14 00:30:00 +02:00
Folkert
e0ce2892ad improvements to reset reuse 2021-07-13 23:45:06 +02:00
Folkert
e02d950c7c Merge remote-tracking branch 'origin/trunk' into reset-reuse 2021-07-13 00:44:05 +02:00
Folkert
83bea1582f box fixes 2021-07-13 00:42:21 +02:00
Folkert
d80deb37cd cleanup 2021-07-13 00:41:46 +02:00
Folkert
63e1374aaa factor allocating space for tag out 2021-07-13 00:40:55 +02:00
Folkert
5cfc4b01c9 don't decrement when reusing 2021-07-12 22:04:04 +02:00
Folkert
1a4ceeeb65 be more precise 2021-07-12 17:58:02 +02:00
Folkert
7d256067f9 allow multiple guards in the same pattern 2021-07-12 17:40:49 +02:00
Folkert
09f01ba193 Boxed skeleton 2021-07-12 17:01:53 +02:00
Folkert
7be0349eee refactor, insert reset more intelligently 2021-07-12 15:19:26 +02:00
Folkert
ed28b02b57 shift store_pattern over to decision_tree 2021-07-11 01:06:22 +02:00
Folkert
e32a06b088 assign guarded patterns at the last moment 2021-07-11 00:39:30 +02:00
Folkert
78309f2607 cleanup 2021-07-10 23:49:24 +02:00
Folkert
e05753afd8 working decision tree gen for all tests 2021-07-10 21:28:32 +02:00
Folkert
7abfca4388 expand tests 2021-07-10 14:27:43 +02:00
Folkert
541a62b109 cleanup: we either have a guard or a test, not both 2021-07-10 14:01:18 +02:00
Folkert
a22d1e9e4c peal of guarded tests 2021-07-10 13:56:13 +02:00