Commit Graph

281 Commits

Author SHA1 Message Date
bjorn3
43e68319fa Rustup to rustc 1.39.0-nightly (2111aed0a 2019-08-17) 2019-08-18 11:30:13 +02:00
bjorn3
b4e55cdedd Refactor num.rs 2019-08-14 15:03:52 +02:00
bjorn3
db071db95a Calculate sign in trans{,_checked}_int_binop instead of caller 2019-08-14 13:01:55 +02:00
bjorn3
32cb5b8c8e Move discriminant get and set to discriminant.rs 2019-08-14 12:01:41 +02:00
bjorn3
883894a07a Move trans_*_binop to num.rs 2019-08-14 11:52:39 +02:00
bjorn3
581b6ea5be Misc changes 2019-08-14 11:36:24 +02:00
bjorn3
f93cd924ec Implement float -> small int cast
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3
6414f03644 Don't omit overflow checks for *_with_overflow intrinsics when compiling without debug assertions 2019-08-09 12:35:51 +02:00
bjorn3
bd7c119e4b Rustup to rustc 1.38.0-nightly (6a91782b7 2019-08-06) 2019-08-07 12:35:49 +02:00
bjorn3
b806070a88 Fix simd_cast 2019-07-31 09:46:05 +02:00
bjorn3
c7fa94bf00 Fix checked binops when overflow checks are disabled 2019-07-27 16:12:46 +02:00
bjorn3
718a5a2e3f Display span in Assert panic message 2019-07-26 11:32:04 +02:00
bjorn3
5180becc7c Fix 128bit CValue::const_val 2019-07-26 11:30:39 +02:00
bjorn3
8693728327 Respect sess.overflow_checks() 2019-07-26 11:29:35 +02:00
bjorn3
641a210ff6 Implement most 128bit binops 2019-07-26 11:29:35 +02:00
bjorn3
8b3628028e Don't special case u/i128 for UnOp::not 2019-07-26 11:28:28 +02:00
bjorn3
45de0336a5 Fix some more stuff 2019-07-26 11:28:28 +02:00
bjorn3
79f4c3d002 [WIP] 2019-07-26 11:28:04 +02:00
bjorn3
c814ee0d2a [WIP] 2019-07-26 11:28:04 +02:00
bjorn3
de32ddad23 [WIP] Basic i128 support 2019-07-26 11:28:04 +02:00
bjorn3
bf3ec3be3e Implement checked binops 2019-07-26 11:19:14 +02:00
bjorn3
92f2b6243d Rustup to rustc 1.38.0-nightly (a7f28678b 2019-07-23) 2019-07-24 11:56:24 +02:00
bjorn3
8c2577c747 Don't disable stdsimd anymore
This doesn't enable simd support. Actually using the functions will
result in a compilation error.
2019-07-20 15:33:57 +02:00
bjorn3
01e9303857 Fix SetDiscriminant for generators 2019-06-16 18:01:46 +02:00
bjorn3
bd73128d2e Implement lt, le, ge and gt for fat pointers 2019-06-16 17:59:31 +02:00
bjorn3
76a178098d Refactor drop codegen 2019-06-16 15:57:53 +02:00
bjorn3
4d406cdcad Rustup to rustc 1.37.0-nightly (0dc9e9c10 2019-06-15) 2019-06-16 11:13:49 +02:00
bjorn3
6d1bc088a7 Rustup to rustc 1.37.0-nightly (2887008e0 2019-06-12) 2019-06-13 20:44:40 +02:00
bjorn3
44a98df8c2 Remove workaround for previously missing encoding 2019-06-11 17:24:11 +02:00
bjorn3
089e75ec42 Encapsulate CPlace constructors 2019-06-11 16:30:47 +02:00
bjorn3
3f04e73b40 Use CValue::by_val{,_pair} at more places 2019-06-11 16:25:07 +02:00
bjorn3
d6e07cfcc8 Encapsulate CValue and CPlace creation 2019-06-11 15:32:30 +02:00
bjorn3
161c8aa5cf Rustup to rustc 1.37.0-nightly (7cdaffd79 2019-06-05) 2019-06-06 20:31:09 +02:00
bjorn3
5593bc8cd3 Update cranelift 2019-05-14 16:12:58 +02:00
bjorn3
bb7a990ee7 Extract driver.rs 2019-05-04 16:54:25 +02:00
bjorn3
cc0804e815 Rustup to rustc 1.36.0-nightly (33fe1131c 2019-04-20) 2019-04-21 14:41:23 +02:00
bjorn3
de792ad690 Rustup to rustc 1.35.0-nightly (aa99abeb2 2019-04-14) 2019-04-15 16:34:16 +02:00
bjorn3
c0ffc422ab Print message when reaching trap 2019-04-10 17:56:44 +02:00
Aaron Hill
e6acbdc20a Rustup to rustc 1.35.0-nightly (f8673e0ad 2019-04-03) 2019-04-04 20:53:16 +02:00
bjorn3
0ad4e2cc96 Rustup to rustc 1.35.0-nightly (e3428db7c 2019-03-31) 2019-04-01 20:22:59 +02:00
bjorn3
b9295f1efd Rustup to rustc 1.35.0-nightly (fbd34efb3 2019-03-26) 2019-03-27 17:45:20 +01:00
bjorn3
0df3b41630 Skip ZST arguments
Fixes #413 and increases compatibility with cg_llvm
2019-03-26 19:53:04 +01:00
bjorn3
e09ae25299 Remove 0006-alloc-Disable-some-unsupported-stuff.patch 2019-03-06 20:56:53 +01:00
bjorn3
11af20b156 Fix panic with reported const_eval promoted error 2019-03-06 20:56:15 +01:00
bjorn3
a5fdefe45a Fix trans_get_discriminant for uninhabited types 2019-03-06 20:55:28 +01:00
bjorn3
c2095c4afe Rustup to rustc 1.35.0-nightly (87a436377 2019-03-03) 2019-03-04 18:57:09 +01:00
bjorn3
2ce5387b7c Rename load_value_pair to load_scalar_pair and fix dynamic dispatch with arbitrary self types 2019-03-03 12:19:55 +01:00
bjorn3
57feadcc13 Replace functions taking or returning u128 or i128 with a trap
This makes it possible to remove most of 0002-Disable-u128-and-i128-in-libcore.patch.
The rest has to be kept because of u128 and i128 only being used in the function body.
2019-03-03 11:45:52 +01:00
bjorn3
23a9dcd947 Make CastKind::Misc handling more clean and general 2019-03-02 20:47:15 +01:00
bjorn3
89666d9818 Implement CastKind::ClosureFnPointer 2019-03-02 20:25:08 +01:00
bjorn3
25f3ef5ff9 Implement ProjectionElem::Subslice 2019-03-02 20:11:31 +01:00
bjorn3
99eb418f19 Rustup to rustc 1.34.0-nightly (c1d2d83ca 2019-03-01) 2019-03-02 12:18:41 +01:00
bjorn3
f02490d960 Rustfmt 2019-02-21 15:06:09 +01:00
bjorn3
ea10842d95 Update cranelift 2019-02-18 18:26:59 +01:00
bjorn3
bab8113954 Fix discriminant_value intrinsic
Fixes #349
2019-02-16 17:18:51 +01:00
bjorn3
ccf07adbfb Implement isize -> raw-ptr cast 2019-02-16 16:37:30 +01:00
bjorn3
4ecbee2f09 Implement float -> int/uint cast 2019-02-16 16:24:38 +01:00
bjorn3
5721542164 Fix BinOp::Offset
fixes #341
2019-02-16 14:02:15 +01:00
bjorn3
4c94251f95 Several fixes 2019-02-16 13:49:42 +01:00
bjorn3
06dd020446 Rustup to rustc 1.34.0-nightly (a9410cd1a 2019-02-15) 2019-02-16 12:35:56 +01:00
bjorn3
c68e76c33b Implement variadic function calling 2019-02-11 19:18:52 +01:00
bjorn3
1eba7e5f5e Implement drop for trait objects 2019-02-08 17:20:24 +01:00
bjorn3
feec354d65 Introduce CPlace::Stack 2019-02-04 19:32:32 +01:00
bjorn3
3e24c1212f Refactor CPlace address handling 2019-02-04 19:32:29 +01:00
bjorn3
0d16dcfce1 Don't try to store func_addr for FnDef in trans_const_value
This would crash, because the place provides 0 bytes of space for FnDef
2019-02-03 14:11:24 +01:00
bjorn3
a12eef4d86 Use IndexSet and keep full source info in set_debug_loc 2019-01-26 11:59:57 +01:00
bjorn3
09c4569c87 Implement line debuginfo 2019-01-26 11:59:57 +01:00
bjorn3
a15af1ccba Rename load_value to load_scalar and make it support all Abi::Scalar types 2019-01-02 13:39:02 +01:00
bjorn3
8561349ece Only build clif comments in debug mode 2018-12-28 17:09:38 +01:00
bjorn3
3d05ff922c Use the linkage and visibility produced by tcx.collect_and_partition_mono_itemscc #209 2018-12-23 19:41:35 +01:00
bjorn3
9882576497 Improve debug messages in generated clif files 2018-12-22 18:21:30 +01:00
bjorn3
64d4257387 Rustup to rustc 1.33.0-nightly (09d6ab90e 2018-12-20) 2018-12-21 13:45:06 +01:00
bjorn3
6fa3140222 Introduce CodegenCx 2018-12-18 18:28:02 +01:00
bjorn3
bd4b307b42 Support dylibs 2018-12-10 15:10:12 +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
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
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
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