Commit Graph

345 Commits

Author SHA1 Message Date
bjorn3
64d4257387 Rustup to rustc 1.33.0-nightly (09d6ab90e 2018-12-20) 2018-12-21 13:45:06 +01:00
bjorn3
d94fe1d717 Fix calling drop_in_place_real with empty drop glue
fixes #209
2018-12-20 14:57:34 +01:00
bjorn3
6fa3140222 Introduce CodegenCx 2018-12-18 18:28:02 +01:00
bjorn3
0530d5225f Disable probestack 2018-12-15 17:17:10 +01:00
bjorn3
2d14dc9f1e Rustup cg_ssa to rustc 1.32.0-nightly (f4a421ee3 2018-12-13) 2018-12-14 13:42:26 +01:00
bjorn3
c8d435aade Put allocator shim in a different object file 2018-12-13 15:24:14 +01:00
bjorn3
77e3612581 Move emit_module a bit up 2018-12-13 15:24:14 +01:00
bjorn3
978add3698 Convenience functions for creating and emitting faerie modules 2018-12-13 15:24:14 +01:00
bjorn3
bc687ee992 Prepare for emitting separate object files for each codegen unit 2018-12-13 15:24:14 +01:00
bjorn3
4d0dba944c Some refactorings for codegen_mono_items 2018-12-12 16:01:34 +01:00
bjorn3
94eac08a48 Extract TargetIsa building to a separate function 2018-12-12 15:11:15 +01:00
bjorn3
dc2f32f985 Change the CallConv for "rust" abi functions to "SystemV" to match the "C" abi
The allocator machinery seems to mix "rust" and "C" abi function defs and calls.
2018-12-11 15:13:45 +01:00
bjorn3
bd4b307b42 Support dylibs 2018-12-10 15:10:12 +01:00
bjorn3
2cff2d3328 Rustup to rustc 1.32.0-nightly (4a45578bc 2018-12-07) 2018-12-08 10:48:35 +01:00
bjorn3
3c364134ec Restructure scripts and add flamegraph generator 2018-12-03 18:50:00 +01:00
bjorn3
b649180def Rustup to rustc 1.32.0-nightly (21f268495 2018-12-02) 2018-12-03 18:00:09 +01:00
bjorn3
a8d52d13f4 Some small changes 2018-12-01 11:49:44 +01:00
bjorn3
3f423c0933 Implement cast C enum -> int 2018-11-30 18:28:33 +01:00
bjorn3
a16e85707d Rustup to rustc 1.32.0-nightly (3e90a12a8 2018-11-29) 2018-11-30 18:08:08 +01:00
bjorn3
d447f77f03 Rustup to rustc 1.32.0-nightly (6acbb5b65 2018-11-25) 2018-11-26 17:51:28 +01:00
bjorn3
95539518ec Rustfmt 2018-11-24 12:47:53 +01:00
bjorn3
830522af6d Implement BackendTypes for FunctionCx 2018-11-24 11:42:57 +01:00
bjorn3
6559029b9d Use rustc_codegen_ssa::CodegenResults 2018-11-24 11:25:11 +01:00
bjorn3
8e28d80a3d Better use of CodegenResults::modules 2018-11-24 11:25:11 +01:00
bjorn3
f4ae9a4dbb Rustup to rustc 1.32.0-nightly (1f57e4841 2018-11-23) 2018-11-24 11:23:49 +01:00
bjorn3
06202c007c Fix some 2018 edition idioms 2018-11-17 18:23:52 +01:00
bjorn3
16334be18e Remove a workaround for icmp.i8/i16 not having an encoding 2018-11-17 15:02:57 +01:00
bjorn3
b2f7386f7e Fix fn(&T) -> for<'l> fn(&'l T) write 2018-11-17 11:55:49 +01:00
bjorn3
10ad950130 Fix static linkage 2018-11-16 20:40:39 +01:00
bjorn3
2c38313403 Move unimpl! macro to unimpl.rs 2018-11-16 19:53:27 +01:00
bjorn3
b2a8996f88 Implement rotate_{left,right} intrinsics 2018-11-16 19:50:23 +01:00
bjorn3
8233ade789 Set cranelift opt_level based on -Copt-level 2018-11-16 18:13:43 +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
4a69f55758 Update for cranelift change 2018-11-15 10:55:40 +01:00
bjorn3
1717cc42ef Fix allocator shim abi 2018-11-14 15:04:50 +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
ea113ec82e Implement intrinsic "exact_div" 2018-11-13 18:50:45 +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
29e1d617d4 Remove commented out code 2018-11-11 11:40:41 +01:00
bjorn3
f955c8ef2a Move all functions in link.rs copied from cg_llvm to link_copied.rs 2018-11-11 11:40:41 +01:00
bjorn3
640d66c777 Call linker from cg_clif 2018-11-11 11:40:31 +01:00
bjorn3
b9c648daed Rustfmt 2018-11-10 15:12:00 +01:00
bjorn3
c88353c942 Warn and error about some things and make METADATA_FILENAME an &str 2018-11-10 15:01:01 +01:00
bjorn3
9ceb1a170b Misc renames and changes 2018-11-10 12:49:25 +01:00
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