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
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
006b1f8696
Switch on floats in llvm
2020-03-19 14:58:28 +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
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
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
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
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
c20f777dba
comment tests that fail for llvm
2020-03-17 00:36:58 +01:00
Folkert
6ff22de9dd
store/define tags in llvm
2020-03-17 00:36:58 +01:00
Richard Feldman
6cd8afd5d6
Fix using structs with records
2020-03-15 15:13:52 -04:00
Richard Feldman
010e390fd6
Make using records in defs work
2020-03-15 14:31:01 -04:00
Richard Feldman
a54db8bf92
Merge remote-tracking branch 'origin/trunk' into array-wrappers
2020-03-14 20:49:59 -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
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
6651180283
implement Bool in llvm
2020-03-13 15:13:43 +01:00
Dan Bruder
c16d5cb3f1
struct creation and access in llvm
2020-03-13 10:13:32 -04:00
Folkert
a7af366c3a
new code gen for Cond
2020-03-13 13:06:56 +01:00
Richard Feldman
df78068e81
Implement int and float subtraction
2020-03-11 21:10:41 -04:00
Richard Feldman
9fcfa90bff
Change capitalization
2020-03-11 21:06:08 -04:00
Richard Feldman
21e4eb505a
Implement and test Float.#add
2020-03-11 20:53:35 -04:00
Richard Feldman
523282e7bc
Implement Int.#add
2020-03-11 20:53:32 -04:00