Folkert
|
958f3f9ad4
|
change pattern destructuring stores
they are now tracked in the Cond/Switch variants, rather than merged into the branch constructors. Required for 'beans'
|
2020-03-23 23:35:45 +01:00 |
|
Folkert
|
2bb69f333f
|
always Cond on a symbol
this will make 'beans' easier
|
2020-03-23 20:00:15 +01:00 |
|
Folkert
|
baeb8ad96a
|
test unit type patterns
|
2020-03-23 17:55:02 +01:00 |
|
Folkert
|
b9613fcdc5
|
clean up tag pattern match conversion
|
2020-03-23 17:55:02 +01:00 |
|
Folkert
|
46062439b5
|
remove label from Struct layout
|
2020-03-23 17:55:02 +01:00 |
|
Folkert
|
e2a7c970bc
|
refactor Access into AccessAtIndex
|
2020-03-23 17:55:02 +01:00 |
|
Richard Feldman
|
ee12e56d1c
|
Fix set_shared_list_oob test
|
2020-03-22 11:34:36 -04:00 |
|
Richard Feldman
|
db502fe2e7
|
Revise some tests
|
2020-03-21 22:51:11 -04:00 |
|
Richard Feldman
|
39249f3905
|
Add test for List.set bounds checking
|
2020-03-21 22:14:02 -04:00 |
|
Richard Feldman
|
52bfe3ce9e
|
Add bounds checking to List.setInPlace
|
2020-03-21 22:12:51 -04:00 |
|
Richard Feldman
|
3e71b5a38d
|
Extract bounds_check_comparison
|
2020-03-21 22:11:06 -04:00 |
|
Richard Feldman
|
a0dd31ee51
|
Add bounds checking for List.set in LLVM
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
63a8daa4c7
|
Reproduce no bounds checking on List.set in LLVM
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
d9fe38efce
|
Remove unnecessary lifetime annotations
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
d0a1adfef9
|
Fix set_shared_int_list for LLVM
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
8a26cac3f2
|
Add a test of just List.set by itself
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
facdc1e2f4
|
Revise some tests a bit
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
cc8683d241
|
Fix use of GEP (was using byte offset, not index)
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
4182e51877
|
Fix set_shared_int_list test
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
e6704d1fcb
|
Streamline empty list LLVM code gen
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
d2e7e373e6
|
Remove unused lifetimes
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
a286dec4cc
|
Reorganize some things
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
f86c3f1e7e
|
Avoid some redundant stores/loads
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
5b902b5a49
|
Use ptr_int over hardcoded i64
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
f2419bb9f8
|
Use struct_type.get_undef()
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
fc036453d9
|
Have List.set in LLVM clone before mutating
|
2020-03-21 21:19:18 -04:00 |
|
Richard Feldman
|
48954eb52b
|
Update to Inkwell version with memcpy
|
2020-03-21 21:19:18 -04:00 |
|
Folkert
|
9a0234e5dd
|
make bound variables available in guards
|
2020-03-22 01:11:19 +01:00 |
|
Folkert
|
1f3b8f7d68
|
guard exhaustiveness
|
2020-03-21 23:33:37 +01:00 |
|
Folkert
|
a16d48a6a9
|
code gen for simple guards
Guards cannot use variables bound in the pattern yet
|
2020-03-21 22:27:36 +01:00 |
|
Folkert
|
655dc32098
|
support nested pattern matches on tag unions
|
2020-03-20 22:14:38 +01:00 |
|
Folkert
|
0f22cbbf7d
|
fix incorrect layout for Switch
|
2020-03-20 19:56:50 +01:00 |
|
Folkert
|
d0da300042
|
fix equality/hash issue
lead to tests not being merged/shared
|
2020-03-20 16:23:56 +01:00 |
|
Folkert
|
e062404a63
|
support more complex nested patterns
|
2020-03-20 14:27:07 +01:00 |
|
Folkert
|
fbadd9d620
|
add pointer Layout
|
2020-03-20 11:53:21 +01:00 |
|
Folkert
|
e4566b9757
|
clean up comment
|
2020-03-20 11:47:22 +01:00 |
|
Richard Feldman
|
b33af811d0
|
Merge branch 'trunk' into unit-types
|
2020-03-19 22:05:22 -04:00 |
|
Folkert
|
14979ceb41
|
Merge remote-tracking branch 'origin/trunk' into unit-types
|
2020-03-20 01:02:13 +01:00 |
|
Folkert
|
f44fea42bb
|
Boolean and/or in cranelift
|
2020-03-20 00:59:26 +01:00 |
|
Folkert
|
e6bee2656d
|
add Bool.and for llvm
|
2020-03-19 23:18:44 +01:00 |
|
Folkert
|
82655556ab
|
exhaustiveness for record guards
|
2020-03-19 22:34:08 +01:00 |
|
Folkert
|
5fc96c09ee
|
Add record patterns
|
2020-03-19 17:08:29 +01:00 |
|
Folkert
|
9745d86efb
|
add tests
|
2020-03-19 14:59:05 +01:00 |
|
Folkert
|
006b1f8696
|
Switch on floats in llvm
|
2020-03-19 14:58:28 +01:00 |
|
Folkert
|
9b81a94786
|
Switch on floats in crane
|
2020-03-19 14:43:58 +01:00 |
|
Folkert
|
6b7b393d32
|
Switch on tags in crane
|
2020-03-19 14:39:04 +01:00 |
|
Folkert
|
0075e3fb04
|
attempt at float switches
needs something more , will circle back later
|
2020-03-19 14:25:37 +01:00 |
|
Folkert
|
f30655a103
|
Switch on tags in llvm
|
2020-03-19 14:18:54 +01:00 |
|
Folkert
|
0593a39e0f
|
uncomment test
|
2020-03-19 12:35:11 +01:00 |
|
Folkert
|
20dc928bfe
|
fix test on maybe
used elm syntax instead of roc
|
2020-03-19 12:32:48 +01:00 |
|