bjorn3
|
e1fc9a56d9
|
Update dependencies
|
2018-11-09 18:03:47 +01:00 |
|
bjorn3
|
7d602513b1
|
Rustup to rustc 1.32.0-nightly (653da4fd0 2018-11-08)
|
2018-11-09 17:54:28 +01:00 |
|
bjorn3
|
d0a3f99214
|
Introduce link module
|
2018-11-07 14:04:44 +01: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
|
b73bda1c3f
|
Fix warnings
|
2018-11-07 13:31:02 +01:00 |
|
bjorn3
|
648f491977
|
Enable feature gate extern_crate_item_prelude
|
2018-11-07 13:29:38 +01:00 |
|
bjorn3
|
4e4cad8a20
|
Allocator shim
|
2018-11-05 18:29:15 +01:00 |
|
bjorn3
|
f19f8e4b49
|
Use tcx.collect_and_partition_mono_items
|
2018-11-05 18:27:10 +01:00 |
|
bjorn3
|
d67fd16982
|
Use cg_utils::symbol_export::provide{,_extern}
|
2018-11-05 18:13:58 +01:00 |
|
bjorn3
|
438bee5fb1
|
Rustup to rustc 1.32.0-nightly (e6c5cf923 2018-11-04)
|
2018-11-05 18:03:47 +01:00 |
|
bjorn3
|
4f7f65ce55
|
Rustup to rustc 1.32.0-nightly (04fdb44f5 2018-11-03)
|
2018-11-04 15:29:01 +01:00 |
|
bjorn3
|
c080c0bfec
|
Misc changes
|
2018-11-03 15:04:27 +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
|
58f076cf38
|
Print pass mode for locals in clif
|
2018-11-02 19:50:30 +01:00 |
|
bjorn3
|
cf71df0da4
|
Rustup to rustc 1.31.0-nightly (d586d5d2f 2018-10-29)
|
2018-10-30 17:58:42 +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
|
fe3a9660ea
|
Bump cranelift
|
2018-10-25 17:36:29 +02:00 |
|
bjorn3
|
ab9a0b7724
|
Change name of metadata file to rust.metadata.bin to match cg_llvm
|
2018-10-25 14:59:02 +02:00 |
|
bjorn3
|
75baefebbb
|
Enable codegen by default
|
2018-10-23 10:57:09 +02:00 |
|
bjorn3
|
35d4d22e5c
|
Rustup to rustc 1.31.0-nightly (424a749a0 2018-10-21)
|
2018-10-22 11:06:09 +02:00 |
|
bjorn3
|
397c6843d0
|
Rustup to rustc 1.31.0-nightly (155510e37 2018-10-20) and fix test
|
2018-10-21 16:32:19 +02:00 |
|
bjorn3
|
a139f73f77
|
Move maybe_create_entry_wrapper to main_shim.rs
|
2018-10-20 18:41:26 +02:00 |
|
bjorn3
|
3f574e9f7b
|
Use ranlib instead of ar x
|
2018-10-20 15:19:07 +02:00 |
|
bjorn3
|
42b6d734bf
|
Rustup to rustc 1.31.0-nightly (46880f41b 2018-10-15)
|
2018-10-16 14:16:37 +02:00 |
|
bjorn3
|
086f3567ea
|
Rustup to rustc 1.31.0-nightly (77af31408 2018-10-11)
|
2018-10-12 19:23:24 +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
|
4177e804e9
|
Some more changes
|
2018-10-10 19:04:20 +02:00 |
|
bjorn3
|
738b320d67
|
Rustup to rustc 1.31.0-nightly (96cafc53c 2018-10-09)
|
2018-10-10 16:38:47 +02:00 |
|
bjorn3
|
39cfb1e51f
|
Workaround for missing select.i8 encoding
|
2018-10-07 11:31:42 +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
|
ab57af4e6a
|
Fix projection of sized field in unsized type
|
2018-10-06 11:21:18 +02:00 |
|
bjorn3
|
f16947dfb4
|
Implement intrinsic write_bytes
|
2018-10-06 10:43:01 +02:00 |
|
bjorn3
|
f8e2ce6b4b
|
Implement a lot of atomic intrinsics
|
2018-10-06 10:24:09 +02:00 |
|
bjorn3
|
42b80c21af
|
Improve dsl
|
2018-10-05 20:11:47 +02:00 |
|
bjorn3
|
a1bb16fdc3
|
Use dsl for declaring intrinsic codegen
|
2018-10-05 19:55:06 +02:00 |
|
bjorn3
|
cd4bcb7a2c
|
Rustup to rustc 1.31.0-nightly (8c4ad4e9e 2018-10-04)
|
2018-10-05 19:24:39 +02:00 |
|
bjorn3
|
a94dd977bf
|
Move intrinsics codegen to intrinsics.rs
|
2018-10-03 18:21:52 +02:00 |
|
bjorn3
|
6289d212fb
|
Implement atomic_singlethreadfence_*
|
2018-10-03 18:12:15 +02:00 |
|
bjorn3
|
1694b07b87
|
Implement intrinsic init
|
2018-10-02 18:41:16 +02:00 |
|
bjorn3
|
fce5fa5231
|
Rustup to rustc 1.31.0-nightly (de3d640f5 2018-10-01), fix a atomic bug and implement intrinsic bitreverse
|
2018-10-02 18:12:03 +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
|
0c42107ea6
|
EntityMap got renamed to SecondaryMap
|
2018-09-27 19:19:16 +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
|
a99e458022
|
Rustup to rustc 1.30.0-nightly (f49f6e73a 2018-09-23)
|
2018-09-24 19:31:46 +02:00 |
|
bjorn3
|
5b721a2940
|
Rustup to rustc 1.30.0-nightly (4591a245c 2018-09-22)
|
2018-09-23 10:16:26 +02:00 |
|
bjorn3
|
a83e7766b7
|
Update Cargo.lock
|
2018-09-22 13:55:23 +02:00 |
|
bjorn3
|
46581af155
|
Replace an unimplemented! with a bug!
|
2018-09-18 18:46:17 +02:00 |
|
bjorn3
|
a1b8e02a88
|
Rustup to rustc 1.30.0-nightly (cb6d2dfa8 2018-09-16)
|
2018-09-17 18:49:10 +02:00 |
|
bjorn3
|
39fbea8c1b
|
Better error message for unsupported "C" abi args
|
2018-09-16 18:46:19 +02:00 |
|
bjorn3
|
7c510c0661
|
Remove some code
|
2018-09-16 17:48:13 +02:00 |
|
bjorn3
|
7168563649
|
Implement function reference in static
|
2018-09-16 16:21:07 +02:00 |
|
bjorn3
|
d5bfb76216
|
Implement some atomic intrinsics in a non atomic version
|
2018-09-16 16:01:26 +02:00 |
|
bjorn3
|
470a310f2e
|
Implement place_field for unsized places
|
2018-09-16 15:28:27 +02:00 |
|
bjorn3
|
086ff67cff
|
Implement returning ! for "C" abi
|
2018-09-16 14:59:49 +02:00 |
|
bjorn3
|
19eb4194b2
|
Fix unsize coerce for structs containing PhantomData like Unique
|
2018-09-16 14:49:45 +02:00 |
|
bjorn3
|
73248114ea
|
Implement unsize of adt's (cc #14)
|
2018-09-16 12:02:03 +02:00 |
|
bjorn3
|
1f1746e2d3
|
Implement intrinsic min_align_of_val
|
2018-09-15 11:14:27 +02:00 |
|
bjorn3
|
6e87a4f16d
|
Rustup to rustc 1.30.0-nightly (2ab3eba30 2018-09-14)
|
2018-09-15 10:44:23 +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
|
e7ca9a186b
|
Fix jit
|
2018-09-09 14:45:23 +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
|
9f489bc8de
|
Don't require abi of defined function to be rust or rust-call
|
2018-09-08 14:44:32 +02:00 |
|
bjorn3
|
9ede386054
|
Don't call seal_all_blocks and finalize twice
|
2018-09-08 14:18:08 +02:00 |
|
bjorn3
|
feee8b2445
|
Misc changes to abi.rs
|
2018-09-08 11:20:15 +02:00 |
|
bjorn3
|
871792d9ab
|
Implement intrinsic size_of_val for slices
|
2018-09-06 18:45:29 +02:00 |
|
bjorn3
|
4c0a2ff59b
|
Don't print Storage{Live,Dead} as comment in debug clif
|
2018-09-06 17:39:01 +02:00 |
|
bjorn3
|
d549d0f180
|
Update Cargo.lock
|
2018-09-05 19:43:42 +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
|
0cfe31403a
|
Rustup to rustc 1.30.0-nightly (28bcffead 2018-09-01)
|
2018-09-02 10:57:29 +02:00 |
|
bjorn3
|
9878eea61c
|
Implement indexing for slices
|
2018-08-30 20:22:35 +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
|
e66f012d79
|
Remove stabilized feature gate
|
2018-08-26 16:28:00 +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
|
65641b8872
|
Rustfmt
|
2018-08-22 12:31:45 +02:00 |
|
bjorn3
|
8cd9bf3162
|
Use *_imm in some places
|
2018-08-22 11:45:54 +02:00 |
|
bjorn3
|
954d1e7bf2
|
Don't hardcode usize being 64 bit (fixes #8)
|
2018-08-22 10:54:32 +02:00 |
|
bjorn3
|
8a1c86473c
|
Remove CValue::Func
|
2018-08-19 10:50:39 +02:00 |
|
bjorn3
|
72f48776a1
|
Support cross-compiling (untested)
|
2018-08-18 16:36:47 +02:00 |
|
bjorn3
|
69834cafd3
|
Use instance_mir instead of optimized_mir
|
2018-08-18 16:09:49 +02:00 |
|
bjorn3
|
2ba1f35baf
|
Be honest about data mutability
|
2018-08-18 10:46:29 +02:00 |
|
bjorn3
|
871be2a469
|
Codegen entry wrapper (fixes #13)
|
2018-08-17 13:21:03 +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
|
65fa8eddbb
|
Fix trait method calls
|
2018-08-15 16:33:19 +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
|
7d3f2ba49f
|
Change build.sh
|
2018-08-15 15:24:05 +02:00 |
|
bjorn3
|
7f2a8f8a66
|
Disable some example which don't compile yet
|
2018-08-15 14:49:36 +02:00 |
|
bjorn3
|
7f2a887c83
|
Use either SimpleJIT or faerie, but not both
|
2018-08-15 14:45:32 +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
|
b752c88fef
|
Put metadata loader in its own file
|
2018-08-15 12:07:08 +02:00 |
|
bjorn3
|
5ea8bae114
|
Rustup to rustc 1.30.0-nightly (67390c0c3 2018-08-14)
|
2018-08-15 11:34:35 +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
|
257a607e3e
|
Change build.sh a bit
|
2018-08-13 19:40:40 +02:00 |
|
bjorn3
|
b9d7164eff
|
Fix and test checked binops
|
2018-08-13 19:14:55 +02:00 |
|
bjorn3
|
4ee2a864b5
|
Rustfmt
|
2018-08-13 19:03:30 +02:00 |
|
bjorn3
|
6d1f0068d1
|
Implement nested and mutable statics (fixes #9)
|
2018-08-13 19:02:42 +02:00 |
|
bjorn3
|
7f62fedeb8
|
Implement basic statics (#9)
|
2018-08-13 18:35:30 +02:00 |
|
bjorn3
|
c7ed1ce033
|
Rustfmt
|
2018-08-13 18:04:39 +02:00 |
|
bjorn3
|
d331758f6d
|
Add helper function to pop an element from a HashSet
|
2018-08-13 17:22:24 +02:00 |
|
bjorn3
|
4615359e86
|
Define data for all allocs during finalization
|
2018-08-13 16:58:07 +02:00 |
|
bjorn3
|
b707da40a5
|
Change todo map to set of alloc id's in constant.rs
|
2018-08-13 16:26:30 +02:00 |
|
bjorn3
|
49d24a6333
|
Remove elements from the todo list the correct way in constant.rs
|
2018-08-13 16:03:01 +02:00 |
|
bjorn3
|
c40788c1b2
|
Simplify define_global_for_alloc_id
|
2018-08-13 15:34:18 +02:00 |
|
bjorn3
|
1031c659e0
|
Refactoring of constant.rs in preparation for static codegen
|
2018-08-13 12:13:43 +02:00 |
|
bjorn3
|
23b4db227a
|
Implement basic incremental compilation
|
2018-08-12 20:49: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
|
57ba6411c2
|
Measure translation speed
|
2018-08-11 15:21:26 +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
|
39cc4fd3fc
|
Don't translate intrinsic func operand
|
2018-08-11 14:24:05 +02:00 |
|
bjorn3
|
d5a5aec022
|
Use get_function_name_and_sig for calling function from backend
|
2018-08-11 14:10:00 +02:00 |
|
bjorn3
|
50375db36c
|
Rustfmt
|
2018-08-11 13:59:34 +02:00 |
|
bjorn3
|
2e0d6d49bf
|
Deduplicate function name generation
|
2018-08-11 13:59:08 +02:00 |
|
bjorn3
|
419cbcbe2f
|
Refactor abi.rs to make it easier to change the abi
|
2018-08-11 12:37:50 +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
|
4df09f7325
|
Pass CPlace to codegen_intrinsic_call
|
2018-08-11 10:58:31 +02:00 |
|
bjorn3
|
973f191136
|
Move more code to codegen_intrinsic_call
|
2018-08-10 19:43:01 +02:00 |
|
bjorn3
|
29ab744f62
|
A small change
|
2018-08-10 19:31:02 +02:00 |
|