Richard Feldman
aa1cbab373
Fix phi node bug
2020-03-25 19:47:28 -04:00
Richard Feldman
2c27e459b0
Inline list_set comparison
2020-03-25 19:47:28 -04:00
Richard Feldman
c560b7a6c5
Share code on LLVM List.set
2020-03-25 19:47:28 -04:00
Richard Feldman
56f4d553e5
More progress on List.set in Cranelift
2020-03-25 19:47:28 -04:00
Richard Feldman
41b39c0629
Add more llvm verification
2020-03-25 19:46:11 -04:00
Richard Feldman
bf129a7299
Progress on List.set in Cranelift
2020-03-25 19:46:11 -04:00
Folkert
579d0d9eff
fix booleans in crane
2020-03-24 15:59:11 +01:00
Richard Feldman
bed356f93e
Merge branch 'trunk' into cleanup-mono
2020-03-24 06:28:45 -04:00
Folkert
39fb78b2d5
remove Jump/Label from mono::Expr
2020-03-24 00:11:02 +01:00
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
3dbdb64a93
fix merge conflict
2020-03-23 17:56:38 +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
a7b5768c47
use a custom type to store Union variants
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
Chad Stearns
6a6912cbb1
Merge branch 'trunk' of github.com:rtfeldman/roc into more-reports
2020-03-22 22:01:29 -04:00
Chad Stearns
57cf650ac7
All report text types rendered in color with tests
2020-03-22 21:56:22 -04:00
Chad Stearns
3ea27dab39
Cleaned up report tests
2020-03-22 21:24:08 -04:00
Chad Stearns
1478fbca3f
Region with line numbers of different string length need to pad shorter line numbers
2020-03-22 21:22:59 -04:00
Richard Feldman
ee12e56d1c
Fix set_shared_list_oob test
2020-03-22 11:34:36 -04:00
Folkert
c6fa301d8b
fix bug in is_unique
2020-03-22 13:22:52 +01: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
ef38095003
Fix optimization test
...
The reason this was failing was that `x` was getting
dropped by dead code elimination, and therefore wasn't
considered a reason to share any values it used.
2020-03-21 21:19:18 -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
3a6018d223
Reproduce List.set uniqueness bug
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
eca096bf2c
disable inlining in unique when branch constraint gen
2020-03-22 01:42:28 +01: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
bd7ad318cf
fix bug in guard constraint gen
2020-03-21 15:12:01 +01:00