Commit Graph

555 Commits

Author SHA1 Message Date
bjorn3
d0db8f0cac
Rustup 2019-07-08 09:54:18 +02:00
bjorn3
b82472184d Rustup to rustc 1.38.0-nightly (dfd52ba6a 2019-07-06) 2019-07-07 11:59:11 +02:00
bjorn3
c2e6822342 Rustup to rustc 1.37.0-nightly (0beb2ba16 2019-07-02)
Also removes some unnecessary errors.
2019-07-03 16:49:47 +02:00
bjorn3
4e1d219f06 Implement some float intrinsics 2019-06-26 16:06:12 +02:00
bjorn3
db5ffdedf7 Implement bswap intrinsic 2019-06-23 17:32:32 +02:00
bjorn3
d425116bdc Implement some intrinsics 2019-06-23 16:36:14 +02:00
bjorn3
d7274ac5fd Fix load and store for ByValPair values with differently sized components 2019-06-23 15:23:06 +02:00
bjorn3
dd15051f5a Rustup to rustc 1.37.0-nightly (de02101e6 2019-06-22) 2019-06-23 10:47:16 +02:00
bjorn3
2b61f90c71 Fix returning non ZST uninhabited types 2019-06-16 18:03:38 +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
c0779d5d1d Add comments for trap::codegen_print gv and fn defs 2019-06-16 17:40:46 +02:00
bjorn3
2eae6bc879 Make a link less prone to breaking 2019-06-16 17:28:29 +02:00
bjorn3
76a178098d Refactor drop codegen 2019-06-16 15:57:53 +02:00
bjorn3
f8c5e10f26 Fix compiling in release mode 2019-06-16 14:47:01 +02:00
bjorn3
3f15b0a24b Implement scalar pair abi pass mode 2019-06-16 12:54:37 +02:00
bjorn3
65bc1e5b5b Fix write_cvalue for ByValPair when the cvalue is not trivially a pair
`write_cvalue` didn't work for `Box<[u8]>`, because the inner fat ptr
was wrapped inside a newtype, which meant `Box<[u8]>` itself only had
one field.

This also simplifies `CValue::force_stack` by reusing `write_cvalue`
when it is not already on the stack.
2019-06-16 12:51:16 +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
5e2ea4f194 Fix debuginfo generation when given source path doesn't contain a dir (eg plain lib.rs) 2019-06-12 18:30:27 +02:00
bjorn3
44a98df8c2 Remove workaround for previously missing encoding 2019-06-11 17:24:11 +02:00
bjorn3
07bb89a02d Fix it 2019-06-11 16:57:59 +02:00
bjorn3
893945bd71 Update for faerie section symbols 2019-06-11 16:45:15 +02:00
bjorn3
847a37fedc Only write metadata module when necessary 2019-06-11 16:45:14 +02:00
bjorn3
8dae241368 [WIP] Use correct segment for metadata section 2019-06-11 16:45:14 +02:00
bjorn3
e8c50cf2c2 Read and write dylib metadata 2019-06-11 16:45:14 +02:00
bjorn3
8fb70f259f Move layout out of the enum for CValue 2019-06-11 16:41:40 +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
466ecad2f0 Move CValue and CPlace to separate file and remove duplicate scalar_to_clif_type 2019-06-11 15:43:22 +02:00
bjorn3
d6e07cfcc8 Encapsulate CValue and CPlace creation 2019-06-11 15:32:30 +02:00
bjorn3
d8d405e85b Rustup to rustc 1.37.0-nightly (991c719a1 2019-06-08) 2019-06-09 15:16:45 +02:00
bjorn3
4b5bb3302b Pretty print non local mir bodies too on panic 2019-06-08 20:41:15 +02:00
bjorn3
161c8aa5cf Rustup to rustc 1.37.0-nightly (7cdaffd79 2019-06-05) 2019-06-06 20:31:09 +02:00
bjorn3
d3dbf358ae Rustup to rustc 1.37.0-nightly (03ee55bb1 2019-06-01) 2019-06-02 12:06:02 +02:00
bjorn3
b625e56488 Rustup to rustc 1.37.0-nightly (3ade426ed 2019-05-30) 2019-05-31 10:56:55 +02:00
bjorn3
610f377b7d Rustup to rustc 1.36.0-nightly (f49269398 2019-05-25) 2019-05-26 10:20:35 +02:00
bjorn3
d078fde07a Rustup to rustc 1.36.0-nightly (dec4c5201 2019-05-24) 2019-05-25 12:30:21 +02:00
bjorn3
5593bc8cd3 Update cranelift 2019-05-14 16:12:58 +02:00
bjorn3
0046ce4c85 Partial support for wasm32-unknown-wasi as host triple
This needs a rustc compiled for wasi (see rust-lang/miri#722)
It also needs CraneStation/target-lexicon#14
2019-05-11 12:23:40 +02:00
bjorn3
2aeffa679a Rustup to rustc 1.36.0-nightly (cfdc84a00 2019-05-07) 2019-05-08 20:05:01 +02:00
bjorn3
bb7a990ee7 Extract driver.rs 2019-05-04 16:54:25 +02:00
bjorn3
7bf9b8e6e1 Update gimli 2019-05-04 16:20:43 +02:00
bjorn3
98dae86d21 Update cranelift 2019-05-04 16:15:20 +02:00
bjorn3
8598a34e45 Rustup to rustc 1.36.0-nightly (a3404557c 2019-05-03) 2019-05-04 14:57:41 +02:00
bjorn3
f473ba8f87 Rustup to rustc 1.36.0-nightly (938d4ffe1 2019-04-27) 2019-04-28 20:37:44 +02:00
bjorn3
27ea27e2e3 Fix using using the same vtable twice 2019-04-27 18:49:13 +02:00
bjorn3
aeecb45beb Preserve the order files are added to archives
rust.metadata.bin could have been at the start of an .rlib file confusing ld
2019-04-27 17:47:15 +02:00
bjorn3
11d816cce5 Rustup to rustc 1.36.0-nightly (597f43248 2019-04-26) 2019-04-27 17:44:12 +02:00
bjorn3
9f6a65b08b Update comment 2019-04-24 21:08:11 +02:00
bjorn3
746e5c5142 Remove some debug println's 2019-04-24 20:57:36 +02:00
bjorn3
f096ad14a3 Change module names back 2019-04-24 20:54:01 +02:00
bjorn3
7ab8dda160 Fix gnu archives 2019-04-24 20:50:23 +02:00
bjorn3
e8db15f662 Fix filename length for ar files 2019-04-24 19:00:21 +02:00
bjorn3
103f2faa1a [WIP] Try using GnuBuilder 2019-04-24 19:00:21 +02:00
bjorn3
472b591f90 Use rustc_codegen_ssa:🔙:link instead of copy pasted version 2019-04-24 19:00:21 +02:00
bjorn3
8c2bd3ec64 Rustup to rustc 1.36.0-nightly (e938c2b9a 2019-04-23) 2019-04-24 16:35:00 +02:00
bjorn3
004dc33031 Refactor archive.rs for future usage of ar::GnuBuilder 2019-04-21 14:59:05 +02:00
bjorn3
3fedac85e7 Let the ArArchiveBuilder implement cg_ssa:🔙:archive::ArchiveBuilder 2019-04-21 14:57:55 +02:00
bjorn3
cc0804e815 Rustup to rustc 1.36.0-nightly (33fe1131c 2019-04-20) 2019-04-21 14:41:23 +02:00
bjorn3
5d3fbdd68e Use more rustc_codegen_ssa:🔙:link for linking 2019-04-20 17:35:58 +02:00
bjorn3
dd21922f31 Rustup to rustc 1.36.0-nightly (3c3d3c177 2019-04-17) 2019-04-18 19:06:59 +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
bjorn3
970d164089 Fix and optimize init intrinsic 2019-04-10 17:25:57 +02:00
bjorn3
41a4175c84 Fix for mutable_borrow_reservation_conflict future compatibility lint 2019-04-08 18:22:28 +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
a3f7b5da86 Rustup to rustc 1.35.0-nightly (237bf3244 2019-03-28) 2019-03-29 19:33:12 +01: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
47b1ef24e4 Update dependencies 2019-03-25 20:03:05 +01:00
bjorn3
a715c79263 Rustup to rustc 1.35.0-nightly (82e2f3ec2 2019-03-20) 2019-03-21 20:24:46 +01:00
bjorn3
788d8cec93 Rustup to rustc 1.35.0-nightly (52e885628 2019-03-15) 2019-03-16 10:54:02 +01:00
bjorn3
87424cb288 Misc changes 2019-03-11 20:45:59 +01:00
bjorn3
b0ecbf14a2 Sign extend ints in trans_const_value 2019-03-11 20:44:05 +01:00
bjorn3
d9403bf3fd Implement weak linkage for statics 2019-03-11 20:36:29 +01:00
bjorn3
bfe8c89d41 Remove "Saved incremental data" warning 2019-03-11 20:06:23 +01:00
bjorn3
27e9cfc79f Rustup to rustc 1.35.0-nightly (9d71ec135 2019-03-10) 2019-03-11 20:02:47 +01:00
bjorn3
14d66b279c Update cranelift, faerie and target-lexicon 2019-03-08 17:55:51 +01:00
bjorn3
4d4e06cbe5 Fix atomic intrinsics 2019-03-06 21:09:35 +01:00
bjorn3
354eb0da9f Fix write_cvalue type assert for late bound regions in trait objects 2019-03-06 20:57:14 +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
e77f1185a1 Improve unimpl! docs 2019-03-03 11:02:32 +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
3d81b76566 Rustup to rustc 1.34.0-nightly (350674b71 2019-02-28) 2019-03-01 18:55:20 +01:00
bjorn3
6c88af3438 Rustup to rustc 1.34.0-nightly (7e001e5c6 2019-02-27) 2019-02-28 10:55:21 +01:00
bjorn3
c8b51653f3 Rustup to rustc 1.34.0-nightly (00aae71f5 2019-02-25) 2019-02-26 11:34:38 +01:00
bjorn3
14750ece1a Use Instance::resolve_for_vtable instead of Instance::resolve for vtables 2019-02-23 10:30:15 +01:00
bjorn3
f02490d960 Rustfmt 2019-02-21 15:06:09 +01:00
bjorn3
b4eff78a9e Pass command-line arguments to JITed function
Cherry-picked from f1f35405e15ca1b77425514b04b96b2749231899 by
@milkey-mouse
2019-02-18 18:53:18 +01:00
bjorn3
b7f2a722c9 Update gimli 2019-02-18 18:32:40 +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
de94b62ba4 Fix atomic_xchg* intrinsics 2019-02-16 16:24:03 +01:00
bjorn3
26289edf1a Fix cttz{,_nonzero} intrinsics 2019-02-16 15:42:20 +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
b05c457257 Use correct alignment for CValue::ByRef for a ZST 2019-02-13 14:32:30 +01:00
bjorn3
c68e76c33b Implement variadic function calling 2019-02-11 19:18:52 +01:00
bjorn3
4bb8bfca94 Disable macOS debuginfo and on all platforms optimizations 2019-02-11 19:11:55 +01:00
bjorn3
5b3867430f Fix "offset" intrinsic
It didn't multiply the offset given by the pointee type size.
2019-02-11 18:50:26 +01:00
bjorn3
a272efa030 Fix alloc_example 2019-02-11 15:29:46 +01:00
bjorn3
19f9810a0f Rustup to rustc 1.34.0-nightly (0b7af2668 2019-02-10) 2019-02-11 15:10:28 +01:00
Philip Craig
e2a869e166 Update gimli 2019-02-11 17:05:38 +10:00
bjorn3
1eba7e5f5e Implement drop for trait objects 2019-02-08 17:20:24 +01:00
bjorn3
c8f19f1cb2 Make codegen_call_inner a bit more readable 2019-02-07 20:28:55 +01:00
bjorn3
c6bf784d39 Misc changes 2019-02-06 19:07:21 +01:00
bjorn3
43f4dc6220 Fix some warnings 2019-02-06 18:49:59 +01:00
bjorn3
059b589407 Implement dynamic dispatch for self: Box<T> 2019-02-06 18:44:13 +01:00
bjorn3
e1620402e0 Introduce CPlace::NoPlace for zst's 2019-02-04 19:58:29 +01:00
bjorn3
d0c81d259a Take stack_addr in advance for locals to avoid many duplicate instructions 2019-02-04 19:44:16 +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
849f7f7041 Update gimli 2019-02-02 11:48:09 +01:00
bjorn3
99e43822b4 Misc debuginfo.rs changes 2019-02-01 19:31:26 +01:00
bjorn3
805af227b6 Fix line debuginfo malformness in presence of macros 2019-01-30 14:57:08 +01:00
bjorn3
bdf1320508 Fix panic_if_uninhabited intrinsic 2019-01-26 17:41:04 +01:00
bjorn3
00e6462334 Fix offset addend mixup 2019-01-26 17:40:33 +01:00
bjorn3
4fbff29a4a Misc debuginfo change 2019-01-26 14:06:02 +01:00
bjorn3
c4d010b8a5 Deduplicate debug section defining and linking 2019-01-26 12:49:33 +01:00
bjorn3
ddbbb267b6 Update gimli 2019-01-26 12:37:49 +01:00
bjorn3
36f6e2f508 Use FileIndex for DW_AT_decl_file and omit .debug_ranges and .debug_rnglists when empty 2019-01-26 12:28:54 +01:00
bjorn3
cf7ee00afd Improve it a bit 2019-01-26 11:59:57 +01:00
bjorn3
a12eef4d86 Use IndexSet and keep full source info in set_debug_loc 2019-01-26 11:59:57 +01:00
bjorn3
6b5cbc540d Use gimli's byteorder in debuginfo.rs 2019-01-26 11:59:57 +01:00
bjorn3
8bddc783e0 Update gimli 2019-01-26 11:59:57 +01:00
bjorn3
d61ceeca7c Generate lineinfo for default srcloc 2019-01-26 11:59:57 +01:00
bjorn3
09c4569c87 Implement line debuginfo 2019-01-26 11:59:57 +01:00
bjorn3
9e609db886 Rustup to rustc 1.33.0-nightly (bf669d1e3 2019-01-25) 2019-01-26 11:59:34 +01:00
bjorn3
8aee796013 Update Cargo.lock and use emit_small_memcpy 2019-01-15 20:35:49 +01:00
bjorn3
5a931acb48 Improve global name for anonymous allocations 2019-01-12 15:16:09 +01:00
bjorn3
8a586eb6cb Rustup to rustc 1.33.0-nightly (68fe5182c 2019-01-05) 2019-01-06 15:27:20 +01:00
bjorn3
144ff955d6 Use layout.abi 2019-01-02 14:03:56 +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
c7101bbfd4 Some cleanup of abi.rs 2019-01-02 12:20:32 +01:00
bjorn3
16e43c9d21 Fix unsize coercions and the size_of_val and min_align_of_val intrinsics for custom dst's 2018-12-29 15:36:17 +01:00
bjorn3
8f2ca706c2 Setup env_logger 2018-12-29 12:04:35 +01:00