Commit Graph

2394 Commits

Author SHA1 Message Date
bjorn3
92f488754b Rustup to rustc 1.56.0-nightly (b03ccace5 2021-08-24) 2021-08-25 13:12:40 +02:00
bjorn3
f865bbbecf Sync from rust 9863bf51a5 2021-08-25 13:05:20 +02:00
bors
21fff2c6c3 Auto merge of #88135 - crlf0710:trait_upcasting_part_3, r=nikomatsakis
Trait upcasting coercion (part 3)

By using separate candidates for each possible choice, this fixes type-checking issues in previous commits.

r? `@nikomatsakis`
2021-08-21 21:14:07 +00:00
bjorn3
47e4a62ac5 Move all code out of backend.rs 2021-08-20 21:43:53 +02:00
bjorn3
14617516f8 Make {Debug,Unwind}Context::emit non-generic 2021-08-20 21:38:50 +02:00
bjorn3
d8308ece36 Move Object creation into metadata.rs 2021-08-20 21:38:17 +02:00
bjorn3
a929c952d4 Add more architectures to with_object 2021-08-20 21:32:04 +02:00
bjorn3
d29e0484cf Revert "Remove unnecessary bailout in clif_pair_type_from_ty"
This reverts commit 3b22c3a8ec.

Seems to be necessary after all. At least when compiling regex.
2021-08-20 19:58:38 +02:00
bjorn3
3b22c3a8ec Remove unnecessary bailout in clif_pair_type_from_ty 2021-08-20 19:30:16 +02:00
bjorn3
edadc29c77 Rustup to rustc 1.56.0-nightly (6d64f7f69 2021-08-19) 2021-08-20 16:15:52 +02:00
bjorn3
7a781a53f0 Sync from rust 9ccf661694 2021-08-20 15:06:07 +02:00
Marcel Hellwig
8b8ab5f599 remove box_syntax uses from cranelift and tools 2021-08-18 09:31:51 +02:00
Charles Lew
03ed8c8115 Fold vtable_trait_upcasting_coercion_new_vptr_slot logic into obligation processing. 2021-08-18 13:00:27 +08:00
Aaron Hill
1bfa59afe0 Update rustc_codegen_cratelift for working_dir change 2021-08-15 15:17:37 -05:00
Gary Guo
74b17685fe Implement black_box using intrinsic
The new implementation allows some `memcpy`s to be optimized away,
so the uninit value in ui/sanitize/memory.rs is constructed directly
onto the return place. Therefore the sanitizer now says that the
value is allocated by `main` rather than `random`.
2021-08-12 16:16:57 +01:00
bjorn3
d498e6d697 Avoid an unnecessary allocation 2021-08-10 13:19:22 +02:00
bjorn3
6681694cb5 Avoid converting filenames into strings where possible 2021-08-10 13:19:22 +02:00
bjorn3
1da50543dd Use the object crate for archive reading during archive building 2021-08-10 13:19:22 +02:00
bjorn3
c11d8f5be1
Add warning to the jit mode section of the usage docs
Closes #1192
2021-08-09 12:30:40 +02:00
bjorn3
98f45afd64 Update Cranelift 2021-08-07 11:09:03 +02:00
bjorn3
e1b6dc0787 Rustup to rustc 1.56.0-nightly (5ad7389bd 2021-08-06) 2021-08-07 10:33:14 +02:00
bjorn3
e48b2fa7dd Merge branch 'sync_from_rust' 2021-08-06 16:28:07 +02:00
bjorn3
d220159810 Merge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06 2021-08-06 16:26:56 +02:00
bjorn3
05677b6bd6 Rustup to rustc 1.56.0-nightly (25b764849 2021-08-04) 2021-08-05 15:32:02 +02:00
bjorn3
20491379c2 Sync from rust 2ddb65c322 2021-08-05 14:39:37 +02:00
Gheorghe Anghelescu
f9c5bbba6b
change instructions for manually compiling y.rs (#1191)
This prevents an error on windows where the `build_sysroot` function was trying to delete `y.exe`.
2021-08-04 09:23:27 +02:00
bors
0f83ac19f0 Auto merge of #87515 - crlf0710:trait_upcasting_part2, r=bjorn3
Trait upcasting coercion (part2)

This is the second part of trait upcasting coercion implementation.

Currently this is blocked on #86264 .

The third part might be implemented using unsafety checking

r? `@bjorn3`
2021-08-03 16:58:56 +00:00
Charles Lew
6f682236c9 Implement pointer casting. 2021-08-03 01:09:37 +08:00
Jade
966e54ee2e rfc3052: Remove authors field from Cargo manifests
Since RFC 3052 soft deprecated the authors field anyway, hiding it from
crates.io, docs.rs, and making Cargo not add it by default, and it is
not generally up to date/useful information, we should remove it from
crates in this repo.
2021-07-29 14:56:05 -07:00
bjorn3
84961ef06a Re-enable a fixed rustc tests 2021-07-29 19:46:31 +02:00
bjorn3
c6564f814e Fix float min and max operations in presence of NaN
Cranelift's fmin and fmax instructions propagate NaN, while Rust's min
and max don't.

Fixes #1049
2021-07-29 15:21:14 +02:00
bjorn3
e0b9f3b3cc Support storing return values in register places for all pass modes 2021-07-28 18:54:21 +02:00
bjorn3
b7881bb08d Remove CPlace::no_place
It is never the right function
2021-07-28 18:31:27 +02:00
bjorn3
8704a66922 Allow returning PassMode::Cast directly to an ssa var 2021-07-28 18:27:06 +02:00
bjorn3
bab224d254 Remove outdated FIXME 2021-07-28 18:26:03 +02:00
bjorn3
2e62516496 Remove workarounds for things unimplemented in Cranelift
Many are now implemented, so it is much nicer to directly use the
respective Cranelift instructions
2021-07-28 17:30:39 +02:00
bjorn3
8a6ff90a3a Use __muloti4 instead of __rust_i128_mulo
Fixes #1126
2021-07-28 14:54:31 +02:00
bjorn3
f4ba61eee5 Rustup to rustc 1.56.0-nightly (08095fc1f 2021-07-26) 2021-07-27 15:22:50 +02:00
bjorn3
bcf532ce1d Update dependencies 2021-07-27 12:54:58 +02:00
bjorn3
c2464ebeb0 Update Cranelift, gimli and object 2021-07-27 12:42:16 +02:00
bjorn3
a2b17e4e4f Enable a working libcore test 2021-07-26 19:34:23 +02:00
bjorn3
641e13e021 Replace pointer_ty() with fx.pointer_type where possible 2021-07-26 19:21:45 +02:00
bjorn3
472f9f9d62 Update compiler_builtins version in setup_rust_fork.sh 2021-07-26 19:19:57 +02:00
bjorn3
e387ec9cbf Fix ABI for Indirect arguments
In case of PassMode::Indirect, the ownership of the backing storage is
transfered to the callee. This means that the caller must copy the
argument if it wants to use it again later.

Fixes #691
2021-07-26 18:57:48 +02:00
bjorn3
2abc12daad Fix y.rs build --sysroot llvm 2021-07-26 16:11:24 +02:00
bjorn3
405642b853 Handle the extra argument for #[track_caller] earlier 2021-07-26 15:01:50 +02:00
bjorn3
3361e349fa Don't return anything from codegen_with_call_return_arg 2021-07-26 14:55:13 +02:00
bjorn3
83da1e0d5a Simplify logic around first_arg 2021-07-26 14:49:17 +02:00
bjorn3
050b417a74 Introduce the CallTarget enum 2021-07-26 14:40:27 +02:00
bjorn3
02db151b00 Add stdsimd to .gitignore and clean_all.sh 2021-07-26 14:13:05 +02:00