Richard Feldman
c425490317
Another failed attempt to use target_data
2020-03-18 21:26:51 -04:00
Richard Feldman
6e977d96fc
Failed attempt to use target_data
2020-03-18 21:26:51 -04:00
Richard Feldman
eed9fb0e69
Have Env store TargetData instead of pointer_bytes
2020-03-18 21:26:51 -04:00
Folkert
b93fe4e341
make arbitrary AccessAtIndex work
...
it now uses that actual layout, not a hardcoded one
2020-03-19 00:25:16 +01:00
Folkert
f3f135eca5
make Layout Hash
2020-03-18 23:26:17 +01:00
Folkert
0996f264e7
simplify Byte layout
2020-03-18 22:22:32 +01:00
Folkert
c11f374eb0
simplify Bool layout
2020-03-18 22:15:03 +01:00
Folkert
f906c9b4b4
uncomment cranelift tests
2020-03-18 21:39:39 +01:00
Folkert
99db336033
Working pattern match on Result Int Int
2020-03-18 21:35:10 +01:00
Folkert
53bd47221c
WIP things seem to work in theory
2020-03-18 16:44:53 +01:00
Folkert
845e30658e
WIP
2020-03-18 02:20:21 +01:00
Folkert
165c5d8363
load/store all tags in llvm
2020-03-17 22:04:11 +01:00
Folkert
6253d2d1af
pattern match on single-tag tag unions
...
in LLVM and crane
2020-03-17 19:44:59 +01:00
Folkert
ba69987c1a
llvm one element tag store
2020-03-17 15:29:40 +01:00
Folkert
9d756a3b2c
generate unpacked tags in Crane
2020-03-17 15:26:21 +01:00
Folkert
c3d550116b
make patterns store their bound variables
2020-03-17 14:04:26 +01:00
Folkert
6310341b7e
Merge remote-tracking branch 'origin/trunk' into pattern-compilation
2020-03-17 12:49:30 +01:00
Richard Feldman
9d950389f5
Implement list cloning and List.set in Cranelift
2020-03-17 00:45:07 -04:00
Richard Feldman
c0d0675919
Clean up some comments and names
2020-03-17 00:44:35 -04:00
Richard Feldman
97d084e224
Reproduce List.set on a shared list failing
2020-03-16 21:55:38 -04:00
Richard Feldman
f9e013793c
Drop unused mono::Expr::Pointer
2020-03-16 21:47:08 -04:00
Folkert
c20f777dba
comment tests that fail for llvm
2020-03-17 00:36:58 +01:00
Folkert
444e3063e0
reserve tag union as array of bytes in llvm
2020-03-17 00:36:58 +01:00
Folkert
6ff22de9dd
store/define tags in llvm
2020-03-17 00:36:58 +01:00
Folkert
72ca6d675c
further tag support in Cranelift
2020-03-17 00:36:58 +01:00
Folkert
74ec3682a2
add tests
2020-03-17 00:36:58 +01:00
Folkert
c9a90c32e3
prepare for Tag code gen
2020-03-17 00:36:58 +01:00
Folkert
e742b77e0b
parity with old implementation
2020-03-17 00:36:58 +01:00
Folkert
d875f8bfce
implement layout for Tag
2020-03-17 00:36:58 +01:00
Richard Feldman
505e69f956
Remove a stray space missed by cargo fmt
2020-03-15 15:25:54 -04:00
Richard Feldman
6cd8afd5d6
Fix using structs with records
2020-03-15 15:13:52 -04:00
Richard Feldman
d546f4340d
Improve an error message
2020-03-15 14:31:13 -04:00
Richard Feldman
010e390fd6
Make using records in defs work
2020-03-15 14:31:01 -04:00
Folkert
cdf05bc425
remove (now unneeded!) default case
2020-03-15 14:42:57 +01:00
Folkert
5926ac2f01
stub out Tag layout
2020-03-15 14:42:57 +01:00
Richard Feldman
5c3c30ed09
Fix List.get and List.set
2020-03-14 21:17:09 -04:00
Richard Feldman
a54db8bf92
Merge remote-tracking branch 'origin/trunk' into array-wrappers
2020-03-14 20:49:59 -04:00
Richard Feldman
5bf82fa42c
Fix Cranelift gen of nonempty lists
2020-03-14 20:44:39 -04:00
Richard Feldman
5beb65880c
Fix List.len
2020-03-14 20:12:27 -04:00
Richard Feldman
e01db9b284
wip empty list
2020-03-13 23:33:32 -04:00
Richard Feldman
de25dc0484
Re-enable empty list test
2020-03-13 22:41:46 -04:00
Richard Feldman
8d4331f903
Merge remote-tracking branch 'origin/trunk' into array-wrappers
2020-03-13 22:20:35 -04:00
Richard Feldman
4c19dd86ff
First pass at some List implementation stuff
2020-03-13 22:15:26 -04:00
Richard Feldman
80722b872a
Update List.set to use wrapper
2020-03-13 22:15:02 -04:00
Richard Feldman
6f64bb2f9b
Update List.getUnsafe to use wrapper
2020-03-13 22:15:02 -04:00
Folkert
1a8f380033
Merge remote-tracking branch 'origin/trunk' into mono-if
2020-03-14 01:00:25 +01:00
Folkert
1570e9b96e
make mono patterns nicer
2020-03-14 00:10:11 +01:00
Folkert
c4c40ec878
fix cond generation
...
With Enum patterns (u8 in size), the size of the condition and the branches could disagree. (the branches would be i64).
we now cast the branches to the smaller integer type based on the layout
2020-03-14 00:07:32 +01:00
Folkert
05a3e8c3d8
equality for Byte and Bool
2020-03-13 17:01:18 +01:00
Folkert
242679b841
fix clippy complaints
2020-03-13 16:14:37 +01:00