Folkert
|
9d1e2a0ef1
|
support zero-sized values (empty record, unit type)
They now use no stack space
|
2020-03-19 11:31:06 +01:00 |
|
Dan Bruder
|
2c630fd014
|
Use sorted fields from struct layout as well as layout.stack_size in crane and llvm access
|
2020-03-19 05:59:29 -04:00 |
|
Dan Bruder
|
59bcda21f5
|
tests pass for crane f64
|
2020-03-19 05:46:11 -04:00 |
|
Chad Stearns
|
3984a8d60e
|
Merging in remote
|
2020-03-19 01:10:57 -04:00 |
|
Chad Stearns
|
beb94dc6f5
|
Cargo Fmt
|
2020-03-19 01:10:04 -04:00 |
|
Richard Feldman
|
04f8b93a9b
|
the clippiest of clips
|
2020-03-18 21:31:01 -04:00 |
|
Richard Feldman
|
8f51b2d429
|
Don't hardcode elem_bytes in llvm
|
2020-03-18 21:31:01 -04:00 |
|
Richard Feldman
|
0a045ccec8
|
Don't hardcode List slots in Cranelift
|
2020-03-18 21:31:01 -04:00 |
|
Richard Feldman
|
43c4fadd6e
|
Use usize length, no capacity for llvm List
|
2020-03-18 21:31:01 -04:00 |
|
Richard Feldman
|
59368caa0c
|
Revert various attempts to use target_data
|
2020-03-18 21:26:51 -04:00 |
|
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
|
b28a6ffa33
|
optimize tag union layout calculation
|
2020-03-18 22:42:10 +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
|
b5abed5f54
|
variables in pattern matches on single tags
|
2020-03-17 16:27:09 +01:00 |
|
Folkert
|
ba69987c1a
|
llvm one element tag store
|
2020-03-17 15:29:40 +01:00 |
|
Folkert
|
b6ca5e2fb9
|
allow Attr wrapper in tag union ext
this should not happen, but we sometimes call this function on the whole tag, which then may be Attr-wrapped
|
2020-03-17 15:27:05 +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
|
77bf2547ac
|
Add sfe_to_memcpy
|
2020-03-16 21:55:24 -04:00 |
|
Richard Feldman
|
e7b391cd6b
|
Improve some docs
|
2020-03-16 21:55:12 -04:00 |
|
Richard Feldman
|
f9e013793c
|
Drop unused mono::Expr::Pointer
|
2020-03-16 21:47:08 -04:00 |
|
Richard Feldman
|
bfe7c1b330
|
Update a comment
|
2020-03-16 21:27:49 -04:00 |
|
Richard Feldman
|
ae0d2f09d1
|
Some more Str docs revisions
|
2020-03-16 20:55:31 -04:00 |
|
Folkert
|
c20f777dba
|
comment tests that fail for llvm
|
2020-03-17 00:36:58 +01:00 |
|
Folkert
|
ab332a37c3
|
take the maximum of all tags when calculating layout
|
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
|
5fca5fe631
|
collect tags from aliases
|
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 |
|
Folkert
|
8c7124aba6
|
first pass
|
2020-03-17 00:36:58 +01:00 |
|
Richard Feldman
|
6637bfb226
|
Add some more Str docs
|
2020-03-16 02:40:20 -04:00 |
|