bjorn3
|
2c38313403
|
Move unimpl! macro to unimpl.rs
|
2018-11-16 19:53:27 +01:00 |
|
bjorn3
|
e83da7533c
|
Move trapping to trap_code.rs
|
2018-11-16 17:35:47 +01:00 |
|
bjorn3
|
faf974b2e6
|
Rustup to rustc 1.32.0-nightly (6b9b97bd9 2018-11-15)
|
2018-11-16 17:20:00 +01:00 |
|
bjorn3
|
0fa5c0f4fa
|
Rustup to rustc 1.32.0-nightly (9fefb6766 2018-11-13)
|
2018-11-14 14:31:42 +01:00 |
|
bjorn3
|
72c34be975
|
Implement raw ptr -> int of native pointer size cast
|
2018-11-13 18:57:59 +01:00 |
|
bjorn3
|
b906adfffe
|
Implement some missing CastKind::Misc casts
|
2018-11-13 18:38:10 +01:00 |
|
bjorn3
|
127e080f62
|
Implement ProjectionElem::ConstantIndex
|
2018-11-13 18:28:10 +01:00 |
|
bjorn3
|
a3263bafe0
|
Change some unimplemented! to unimpl!
|
2018-11-13 17:58:42 +01:00 |
|
Dan Gohman
|
7b5f4894f1
|
Change "cton" to "clif".
|
2018-11-12 07:20:42 -08:00 |
|
Dan Gohman
|
27d90ab1d5
|
Change "cretonne" to "cranelift".
|
2018-11-12 07:20:32 -08:00 |
|
bjorn3
|
0b76af2095
|
Remove should_codegen
|
2018-11-07 13:35:10 +01:00 |
|
bjorn3
|
29b4c34c54
|
Rustfmt
|
2018-11-07 13:32:02 +01:00 |
|
bjorn3
|
648f491977
|
Enable feature gate extern_crate_item_prelude
|
2018-11-07 13:29:38 +01:00 |
|
bjorn3
|
438bee5fb1
|
Rustup to rustc 1.32.0-nightly (e6c5cf923 2018-11-04)
|
2018-11-05 18:03:47 +01:00 |
|
bjorn3
|
fc8a6c343a
|
Update Cargo.lock
Also update for cranelift changes.
|
2018-11-03 13:14:28 +01:00 |
|
bjorn3
|
23e0b0bd9c
|
Rustup to rustc 1.32.0-nightly (8b096314a 2018-11-02)
|
2018-11-03 12:49:55 +01:00 |
|
bjorn3
|
172e705b27
|
Rustup to rustc 1.31.0-nightly (cae6efc37 2018-10-27)
|
2018-10-28 18:23:03 +01:00 |
|
bjorn3
|
52ab6583dc
|
Better clif file writing
|
2018-10-27 18:23:37 +02:00 |
|
bjorn3
|
0195181363
|
Fix some warnings
|
2018-10-10 19:08:52 +02:00 |
|
bjorn3
|
b5dffe9765
|
Rustfmt
|
2018-10-10 19:07:13 +02:00 |
|
bjorn3
|
0fa547ac98
|
Use absolute compile time paths for some log files
|
2018-10-06 14:48:34 +02:00 |
|
bjorn3
|
f4e544894a
|
Implement Rvalue::Len for arrays
|
2018-10-06 13:50:31 +02:00 |
|
bjorn3
|
cd4bcb7a2c
|
Rustup to rustc 1.31.0-nightly (8c4ad4e9e 2018-10-04)
|
2018-10-05 19:24:39 +02:00 |
|
bjorn3
|
69fe4d6f92
|
Workaround some missing encodings in cranelift
|
2018-09-30 16:33:55 +02:00 |
|
bjorn3
|
ed996759f1
|
Rustup
|
2018-09-28 18:21:11 +02:00 |
|
bjorn3
|
742a795c78
|
Use FunctionBuilder::call_mem{cpy,move}
|
2018-09-26 15:42:07 +02:00 |
|
bjorn3
|
16e936b93f
|
Rustfmt
|
2018-09-26 15:40:11 +02:00 |
|
bjorn3
|
889150a4f9
|
Implement binop eq and ne for fat ptr's
|
2018-09-25 18:35:13 +02:00 |
|
bjorn3
|
b11cb572dc
|
Use cranelift_frontend::Switch for switchInt
|
2018-09-25 18:04:30 +02:00 |
|
bjorn3
|
5b721a2940
|
Rustup to rustc 1.30.0-nightly (4591a245c 2018-09-22)
|
2018-09-23 10:16:26 +02:00 |
|
bjorn3
|
a1b8e02a88
|
Rustup to rustc 1.30.0-nightly (cb6d2dfa8 2018-09-16)
|
2018-09-17 18:49:10 +02:00 |
|
bjorn3
|
0fb7c4d1b9
|
Implement some intrinsics and fix a codegen error
* intrinsic size_of_val for sized types
* intrinsic needs_drop
* incorrect codegen for UnOp::Not for bools
|
2018-09-14 19:49:33 +02:00 |
|
bjorn3
|
59518987ed
|
Implement drop support (fixes #11)
|
2018-09-12 14:40:06 +02:00 |
|
bjorn3
|
29c8fcfc24
|
Rustup to rustc 1.30.0-nightly (2f1547c0a 2018-09-11)
|
2018-09-12 14:16:28 +02:00 |
|
bjorn3
|
6196146ac4
|
Implement trait objects (cc #14)
|
2018-09-08 18:00:06 +02:00 |
|
bjorn3
|
62a0203a5a
|
Rustfmt
|
2018-09-08 17:24:52 +02:00 |
|
bjorn3
|
252607ae41
|
Don't use write_mir_pretty for non local mir
|
2018-09-08 17:23:03 +02:00 |
|
bjorn3
|
9ede386054
|
Don't call seal_all_blocks and finalize twice
|
2018-09-08 14:18:08 +02:00 |
|
bjorn3
|
4c0a2ff59b
|
Don't print Storage{Live,Dead} as comment in debug clif
|
2018-09-06 17:39:01 +02:00 |
|
bjorn3
|
8adc744645
|
Implement Box rvalue
|
2018-09-04 19:04:25 +02:00 |
|
bjorn3
|
42066522fb
|
Perform some optimizations
|
2018-09-02 13:36:45 +02:00 |
|
bjorn3
|
fa4a37759b
|
Rvalue::Len
|
2018-08-30 20:22:25 +02:00 |
|
bjorn3
|
12282a8ebc
|
Implement unsize array -> slice and trait object -> trait object
|
2018-08-30 20:21:58 +02:00 |
|
bjorn3
|
b5082f7da8
|
Support unsized types
|
2018-08-30 20:21:21 +02:00 |
|
bjorn3
|
8111eee37a
|
Rustup to rustc 1.30.0-nightly (02cb8f2a4 2018-08-29)
|
2018-08-30 20:14:56 +02:00 |
|
bjorn3
|
6f58f94cdb
|
Add Caches to FunctionCx
|
2018-08-26 17:14:12 +02:00 |
|
bjorn3
|
42887dfdd9
|
Remove CodegenCx
|
2018-08-26 16:58:52 +02:00 |
|
bjorn3
|
9dbc727b72
|
Rustfmt
|
2018-08-24 14:54:22 +02:00 |
|
bjorn3
|
0d15d9e5dd
|
Rustup to rustc 1.30.0-nightly (63d66494a 2018-08-23)
|
2018-08-24 14:51:02 +02:00 |
|
bjorn3
|
d348f5b473
|
Codegen all instance types
|
2018-08-22 18:53:57 +02:00 |
|
bjorn3
|
d87edae73b
|
Add CValue variant ByValPair
|
2018-08-22 12:35:07 +02:00 |
|
bjorn3
|
954d1e7bf2
|
Don't hardcode usize being 64 bit (fixes #8)
|
2018-08-22 10:54:32 +02:00 |
|
bjorn3
|
69834cafd3
|
Use instance_mir instead of optimized_mir
|
2018-08-18 16:09:49 +02:00 |
|
bjorn3
|
7a3ba963e1
|
Rustfmt
|
2018-08-17 13:01:56 +02:00 |
|
bjorn3
|
f27dfc3ac9
|
Make CodegenCx generic over Backend
|
2018-08-17 12:57:41 +02:00 |
|
bjorn3
|
eb89830f21
|
Rustfmt
|
2018-08-16 20:09:26 +02:00 |
|
bjorn3
|
ca59e4405e
|
Reduce verbosity of output
|
2018-08-15 16:17:59 +02:00 |
|
bjorn3
|
a3760040b2
|
Disable some prinln!'s
|
2018-08-15 15:28:08 +02:00 |
|
bjorn3
|
bd7031afb1
|
Fix codegen of SwitchInt
|
2018-08-15 14:36:45 +02:00 |
|
bjorn3
|
e6fb515406
|
Craneliftup
|
2018-08-15 12:36:13 +02:00 |
|
bjorn3
|
a8ca0f02fc
|
Support emitting object files (fixes #5)
|
2018-08-14 22:01:18 +02:00 |
|
bjorn3
|
0f26781a86
|
Support simplejit and faerie at the same time
|
2018-08-14 20:58:24 +02:00 |
|
bjorn3
|
178aa32b0c
|
Make FunctionCx generic over Backend
|
2018-08-14 20:31:16 +02:00 |
|
bjorn3
|
f67ad9c120
|
Refactoring
|
2018-08-14 19:42:22 +02:00 |
|
bjorn3
|
0978710ffd
|
Codegen minicore
|
2018-08-14 12:13:07 +02:00 |
|
bjorn3
|
4b10e6e613
|
Workaround missing encoding for icmp.i8
|
2018-08-14 11:58:39 +02:00 |
|
bjorn3
|
b9d7164eff
|
Fix and test checked binops
|
2018-08-13 19:14:55 +02:00 |
|
bjorn3
|
1031c659e0
|
Refactoring of constant.rs in preparation for static codegen
|
2018-08-13 12:13:43 +02:00 |
|
bjorn3
|
5859b9b65d
|
Rustfmt
|
2018-08-12 18:56:05 +02:00 |
|
bjorn3
|
8e2394874e
|
Group drop glue instances in unimpl log
|
2018-08-11 15:36:08 +02:00 |
|
bjorn3
|
46ebc2bc5c
|
Make the hello world example runnable
|
2018-08-11 15:05:57 +02:00 |
|
bjorn3
|
af69258971
|
Use tcx.symbol_name
|
2018-08-11 14:30:05 +02:00 |
|
bjorn3
|
2e0d6d49bf
|
Deduplicate function name generation
|
2018-08-11 13:59:08 +02:00 |
|
bjorn3
|
dc323d7ffa
|
Don't call finalize_all and then finalize_function
|
2018-08-11 12:07:42 +02:00 |
|
bjorn3
|
b391524b4f
|
Move return codegen to abi.rs
|
2018-08-11 11:01:48 +02:00 |
|
bjorn3
|
5ebcea23e4
|
Extract codegen_intrinsic_call
|
2018-08-10 19:20:13 +02:00 |
|
bjorn3
|
e1ac09a3f0
|
Implement bool -> int cast
|
2018-08-09 15:44:01 +02:00 |
|
bjorn3
|
4c312faf90
|
brz <-> brnz
|
2018-08-09 15:36:02 +02:00 |
|
bjorn3
|
48701d758d
|
Crash on some less code and fix a bug in discriminant read
|
2018-08-09 15:08:54 +02:00 |
|
bjorn3
|
e9422fd4d4
|
Implement Rvalue::Aggregate(AggregateKind::Array, ...)
|
2018-08-09 11:42:35 +02:00 |
|
bjorn3
|
2fd0d52834
|
Rustfmt
|
2018-08-09 11:25:14 +02:00 |
|
bjorn3
|
566803f288
|
Implement raw ptr -> usize, fn ptr -> usize, usize -> raw ptr casts
|
2018-08-09 11:23:04 +02:00 |
|
bjorn3
|
9a2b1d4ac3
|
Implement float -> float and int -> float casts
|
2018-08-09 11:16:46 +02:00 |
|
bjorn3
|
6c86274943
|
Implement raw ptr -> usize cast
|
2018-08-09 11:07:10 +02:00 |
|
bjorn3
|
5b85e0fec8
|
Rustfmt
|
2018-08-08 19:33:37 +02:00 |
|
bjorn3
|
7f2e68e38e
|
Better unimplemented stuff handling
|
2018-08-08 15:38:03 +02:00 |
|
bjorn3
|
c4705af4e2
|
Implement intrinsics {ctlz,cttz}{,_nonzero} and ctpop
|
2018-08-08 14:39:46 +02:00 |
|
bjorn3
|
d4b6bce39c
|
Workaround two bugs
|
2018-08-08 12:53:09 +02:00 |
|
bjorn3
|
21c52c70b3
|
Rustfmt
|
2018-08-08 12:45:34 +02:00 |
|
bjorn3
|
822a181c87
|
Implement NullOp::SizeOf
|
2018-08-08 12:44:41 +02:00 |
|
bjorn3
|
1305d1ef23
|
Implement Rvalue::Repeat
|
2018-08-08 12:30:25 +02:00 |
|
bjorn3
|
efd203aa0b
|
Implement indexing for arrays
|
2018-08-08 12:22:16 +02:00 |
|
bjorn3
|
ece497cc84
|
Some misc changes
|
2018-08-08 10:39:10 +02:00 |
|
bjorn3
|
018612cf22
|
Implement overflowing_* and *_with_overflowing
|
2018-08-08 09:49:42 +02:00 |
|
bjorn3
|
376ec8c258
|
Don't crash on checked binops (treated like unchecked ones atm)
|
2018-08-08 09:35:35 +02:00 |
|
bjorn3
|
f001808249
|
Run rustfmt 0.9.0-nightly (69ad879 2018-07-27)
|
2018-07-31 12:25:16 +02:00 |
|
bjorn3
|
82dbd07806
|
Add support for calling C abi functions
|
2018-07-30 18:20:37 +02:00 |
|
bjorn3
|
37b61e0ca6
|
Rustup to rustc 1.29.0-nightly (866a71325 2018-07-29)
|
2018-07-30 16:57:40 +02:00 |
|
bjorn3
|
75a45965bb
|
Add support for binop rem on floats
|
2018-07-30 15:34:34 +02:00 |
|
bjorn3
|
9b06ec8f1d
|
Implement intrinsic discriminant_value and fix bug in discriminant reading
|
2018-07-30 14:36:32 +02:00 |
|
bjorn3
|
812fd6daca
|
Implement some intrinsics
|
2018-07-29 17:22:40 +02:00 |
|
bjorn3
|
dc4f234115
|
Implement float binops
|
2018-07-29 17:09:17 +02:00 |
|
bjorn3
|
3a0f5dc9ec
|
Fix a bug when the same function is called with different signatures
|
2018-07-27 19:01:38 +02:00 |
|
bjorn3
|
ab00acfb55
|
Add binop impls for TyBool
|
2018-07-26 10:59:57 +02:00 |
|
bjorn3
|
7862e2ea1c
|
Implement some intrinsics
|
2018-07-26 10:48:50 +02:00 |
|
bjorn3
|
eb077f67ac
|
Support metadata writing
|
2018-07-23 11:17:39 +02:00 |
|
bjorn3
|
0350f2faa9
|
Don't panic on intrinsics
|
2018-07-20 14:20:37 +02:00 |
|
bjorn3
|
a3b53eb451
|
Better comment handling
|
2018-07-20 13:51:34 +02:00 |
|
bjorn3
|
2b5e55fb17
|
Refactor fn sig handling in preparation for supporting closures
|
2018-07-20 13:36:53 +02:00 |
|
bjorn3
|
12e129579d
|
Fix a bug
|
2018-07-19 19:42:07 +02:00 |
|
bjorn3
|
bf2c35f05d
|
Implement char to uint cast
|
2018-07-19 19:37:34 +02:00 |
|
bjorn3
|
1138d38d87
|
Extract abi handling to abi.rs
|
2018-07-19 19:33:42 +02:00 |
|
bjorn3
|
85eaa2c0c9
|
Better libcore building instructions and rustup
|
2018-07-19 18:41:37 +02:00 |
|
bjorn3
|
5951efb748
|
Implement int casts
|
2018-07-18 16:22:29 +02:00 |
|
bjorn3
|
f52727b8e6
|
Implement some binops for TyRawPtr
|
2018-07-18 15:17:22 +02:00 |
|
bjorn3
|
fdc625e18a
|
Implement casting between TyRef and TyRawPtr
|
2018-07-18 14:21:13 +02:00 |
|
bjorn3
|
9a9054ad23
|
Disable define_function to prevent crashing on things cranelift doesn't yet support
|
2018-07-18 13:43:17 +02:00 |
|
bjorn3
|
d0ef7f455c
|
Add docs and expand some wildcard patterns
|
2018-07-18 11:55:52 +02:00 |
|
bjorn3
|
af3234cfd7
|
[WIP] Add arbitrary constant support
|
2018-07-16 15:13:37 +02:00 |
|
bjorn3
|
4694fa4f3d
|
Move const val handling to constant.rs
|
2018-07-14 16:45:20 +02:00 |
|
bjorn3
|
a95a6729b1
|
Implement some more stuff and ignore some unimplemented stuff instead of panicking
|
2018-07-14 16:39:49 +02:00 |
|
bjorn3
|
25fef30186
|
More debugging output
|
2018-07-14 12:21:45 +02:00 |
|
bjorn3
|
0c592a6bb1
|
Add some warnings
|
2018-07-14 12:07:35 +02:00 |
|
bjorn3
|
92b14263a4
|
Update to cranelift 0.14
|
2018-07-14 12:04:15 +02:00 |
|
bjorn3
|
aee8d75057
|
Bug on TyParam in cton_type_from_ty and print mir before creating function§
|
2018-06-30 18:55:01 +02:00 |
|
bjorn3
|
4beb931641
|
Use DefPathBasedNames
|
2018-06-30 18:22:20 +02:00 |
|
bjorn3
|
24e2eb25d4
|
Fix some warnings
|
2018-06-30 16:38:49 +02:00 |
|
bjorn3
|
bb017326be
|
Move some code around
|
2018-06-30 16:37:02 +02:00 |
|
bjorn3
|
7ca1f256cc
|
Remove some cretonne bug workarounds and add ir comments
|
2018-06-30 16:27:11 +02:00 |
|
bjorn3
|
4bff31e36d
|
Add drop shim
|
2018-06-28 20:27:43 +02:00 |
|
bjorn3
|
d8c5152f30
|
Nicer verifier errors
|
2018-06-28 20:13:51 +02:00 |
|
bjorn3
|
e7a6890140
|
Implement Rvalue::Ref
|
2018-06-27 16:08:56 +02:00 |
|
bjorn3
|
e42ab29517
|
Implement some UnOp's
|
2018-06-27 15:57:52 +02:00 |
|
bjorn3
|
518aa42b49
|
Implement all binops for integers
|
2018-06-27 15:47:58 +02:00 |
|
bjorn3
|
5508d44e2b
|
Support bool constants and fix a u8 const error
|
2018-06-27 15:23:40 +02:00 |
|
bjorn3
|
aee975e0e2
|
Fix some bugs
|
2018-06-26 20:29:32 +02:00 |
|
bjorn3
|
a7e674006c
|
Store TyLayout inside CValue and CPlace
|
2018-06-26 20:23:51 +02:00 |
|
bjorn3
|
bdad2d427d
|
Implement SetDiscriminant
|
2018-06-24 14:29:56 +02:00 |
|
bjorn3
|
f62381865f
|
Better monomorphization
|
2018-06-24 14:01:41 +02:00 |
|
bjorn3
|
0479604be1
|
Implement some more things
|
2018-06-23 18:54:15 +02:00 |
|
bjorn3
|
6de95c89d9
|
Implement enums
|
2018-06-23 18:26:54 +02:00 |
|
bjorn3
|
c7e7e1fe0f
|
Split common utils out of base.rs
|
2018-06-22 19:18:53 +02:00 |
|
bjorn3
|
c0dce914e3
|
Mostly fix it
|
2018-06-22 19:08:59 +02:00 |
|
bjorn3
|
08d17c9ece
|
Better rvalue handling
|
2018-06-20 15:29:50 +02:00 |
|
bjorn3
|
4adba2553b
|
Use pass by value fro simple simple types
|
2018-06-20 15:15:28 +02:00 |
|
bjorn3
|
9d40131d81
|
Add cretonne_module
|
2018-06-19 19:51:29 +02:00 |
|
bjorn3
|
9f4f9eb1d7
|
Implement indirect calls
|
2018-06-18 18:39:07 +02:00 |
|
bjorn3
|
7680a5cdde
|
Implement direct calls
|
2018-06-17 19:10:06 +02:00 |
|
bjorn3
|
653c67cb6d
|
Use verifier, perform assignment and field projection, fix branching
|
2018-06-17 18:46:11 +02:00 |
|
bjorn3
|
4d615dba0e
|
Initial commit
|
2018-06-17 18:05:11 +02:00 |
|