]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoAuto merge of #89092 - bjorn3:sync_cg_clif-2021-09-19, r=bjorn3
bors [Sun, 26 Sep 2021 23:31:01 +0000 (23:31 +0000)]
Auto merge of #89092 - bjorn3:sync_cg_clif-2021-09-19, r=bjorn3

Sync rustc_codegen_cranelift

Nothing exciting this time. Mostly internal refactorings.

r? `@ghost`

`@rustbot` label +A-codegen +A-cranelift +T-compiler

2 years agoIntroduce `Rvalue::ShallowInitBox`
Gary Guo [Mon, 6 Sep 2021 17:33:23 +0000 (18:33 +0100)]
Introduce `Rvalue::ShallowInitBox`

2 years agoMigrate to 2021
Mark Rousskov [Sun, 19 Sep 2021 16:49:55 +0000 (12:49 -0400)]
Migrate to 2021

2 years agoAdjust to SourceType::InTree in several places
Mark Rousskov [Sun, 19 Sep 2021 14:36:17 +0000 (10:36 -0400)]
Adjust to SourceType::InTree in several places

These were left over in migrations to subtrees, which should generally be treated
as-if it was local.

Also fixes a warning caused by this change.

2 years agoMerge branch 'sync_from_rust'
bjorn3 [Sun, 19 Sep 2021 11:58:19 +0000 (13:58 +0200)]
Merge branch 'sync_from_rust'

2 years agoMerge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
bjorn3 [Sun, 19 Sep 2021 11:56:58 +0000 (13:56 +0200)]
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19

2 years agoRustup to rustc 1.57.0-nightly (aa8f2d432 2021-09-18)
bjorn3 [Sun, 19 Sep 2021 11:53:32 +0000 (13:53 +0200)]
Rustup to rustc 1.57.0-nightly (aa8f2d432 2021-09-18)

2 years agoSync from rust 7a3d1a5f3dfeaf5177885fedd7db8ecc70670dc1
bjorn3 [Sun, 19 Sep 2021 11:43:54 +0000 (13:43 +0200)]
Sync from rust 7a3d1a5f3dfeaf5177885fedd7db8ecc70670dc1

2 years agoQuerify `fn_abi_of_{fn_ptr,instance}`.
Eduard-Mihai Burtescu [Wed, 1 Sep 2021 21:29:15 +0000 (00:29 +0300)]
Querify `fn_abi_of_{fn_ptr,instance}`.

2 years agoty::layout: replicate `layout_of` setup for `fn_abi_of_{fn_ptr,instance}`.
Eduard-Mihai Burtescu [Wed, 1 Sep 2021 21:09:34 +0000 (00:09 +0300)]
ty::layout: replicate `layout_of` setup for `fn_abi_of_{fn_ptr,instance}`.

2 years agoty::layout: intern `FnAbi`s as `&'tcx`.
Eduard-Mihai Burtescu [Thu, 26 Aug 2021 18:58:34 +0000 (21:58 +0300)]
ty::layout: intern `FnAbi`s as `&'tcx`.

2 years agoAuto merge of #88839 - nbdd0121:alignof, r=nagisa
bors [Sun, 12 Sep 2021 23:49:24 +0000 (23:49 +0000)]
Auto merge of #88839 - nbdd0121:alignof, r=nagisa

Introduce NullOp::AlignOf

This PR introduces `Rvalue::NullaryOp(NullOp::AlignOf, ty)`, which will be lowered from `align_of`, similar to `size_of` lowering to `Rvalue::NullaryOp(NullOp::SizeOf, ty)`.

The changes are originally part of #88700 but since it's not dependent on other changes and could have performance impact on its own, it's separated into its own PR.

2 years agoIntroduce NullOp::AlignOf
Gary Guo [Tue, 7 Sep 2021 15:06:07 +0000 (16:06 +0100)]
Introduce NullOp::AlignOf

2 years agoRe-enable portable simd testing
bjorn3 [Sun, 12 Sep 2021 18:27:50 +0000 (20:27 +0200)]
Re-enable portable simd testing

2 years agoRustup to rustc 1.57.0-nightly (8c2b6ea37 2021-09-11)
bjorn3 [Sun, 12 Sep 2021 17:40:01 +0000 (19:40 +0200)]
Rustup to rustc 1.57.0-nightly (8c2b6ea37 2021-09-11)

2 years agoSync from rust c7dbe7a830100c70d59994fd940bf75bb6e39b39
bjorn3 [Sun, 12 Sep 2021 17:25:17 +0000 (19:25 +0200)]
Sync from rust c7dbe7a830100c70d59994fd940bf75bb6e39b39

2 years agoMake `abi::Abi` `Copy` and remove a *lot* of refs
Andreas Liljeqvist [Sun, 29 Aug 2021 09:06:55 +0000 (11:06 +0200)]
Make `abi::Abi` `Copy` and remove a *lot* of refs

fix

fix

Remove more refs and clones

fix

more

fix

2 years agoAvoid unnecessary duplicate metadata encoding
bjorn3 [Wed, 8 Sep 2021 16:54:48 +0000 (18:54 +0200)]
Avoid unnecessary duplicate metadata encoding

2 years agoAdd portable-simd to .gitignore
bjorn3 [Tue, 7 Sep 2021 18:45:58 +0000 (20:45 +0200)]
Add portable-simd to .gitignore

2 years agoRustup to rustc 1.57.0-nightly (1698e3cac 2021-09-06)
bjorn3 [Tue, 7 Sep 2021 18:45:28 +0000 (20:45 +0200)]
Rustup to rustc 1.57.0-nightly (1698e3cac 2021-09-06)

2 years agoSync from rust 73641cd23ba470c6b4dcd72b8d5f62d27c735254
bjorn3 [Tue, 7 Sep 2021 18:45:09 +0000 (20:45 +0200)]
Sync from rust 73641cd23ba470c6b4dcd72b8d5f62d27c735254

2 years agoMove the dataflow framework to its own crate.
Camille GILLOT [Tue, 5 Jan 2021 18:53:07 +0000 (19:53 +0100)]
Move the dataflow framework to its own crate.

2 years agoMove monomorphize code to its own crate.
Camille GILLOT [Sat, 2 Jan 2021 13:42:15 +0000 (14:42 +0100)]
Move monomorphize code to its own crate.

2 years agoAuto merge of #88499 - eddyb:layout-off, r=nagisa
bors [Sun, 5 Sep 2021 16:14:41 +0000 (16:14 +0000)]
Auto merge of #88499 - eddyb:layout-off, r=nagisa

Provide `layout_of` automatically (given tcx + param_env + error handling).

After #88337, there's no longer any uses of `LayoutOf` within `rustc_target` itself, so I realized I could move the trait to `rustc_middle::ty::layout` and redesign it a bit.

This is similar to #88338 (and supersedes it), but at no ergonomic loss, since there's no funky `C: LayoutOf<Ty = Ty>` -> `Ty: TyAbiInterface<C>` generic `impl` chain, and each `LayoutOf` still corresponds to one `impl` (of `LayoutOfHelpers`) for the specific context.

After this PR, this is what's needed to get `trait LayoutOf` (with the `layout_of` method) implemented on some context type:
* `TyCtxt`, via `HasTyCtxt`
* `ParamEnv`, via `HasParamEnv`
* a way to transform `LayoutError`s into the desired error type
  * an error type of `!` can be paired with having `cx.layout_of(...)` return `TyAndLayout` *without* `Result<...>` around it, such as used by codegen
  * this is done through a new `LayoutOfHelpers` trait (and so is specifying the type of `cx.layout_of(...)`)

When going through this path (and not bypassing it with a manual `impl` of `LayoutOf`), the end result is that only the error case can be customized, the query itself and the success paths are guaranteed to be uniform.

(**EDIT**: just noticed that because of the supertrait relationship, you cannot actually implement `LayoutOf` yourself, the blanket `impl` fully covers all possible context types that could ever implement it)

Part of the motivation for this shape of API is that I've been working on querifying `FnAbi::of_*`, and what I want/need to introduce for that looks a lot like the setup in this PR - in particular, it's harder to express the `FnAbi` methods in `rustc_target`, since they're much more tied to `rustc` concepts.

r? `@nagisa` cc `@oli-obk` `@bjorn3`

2 years agoAuto merge of #88559 - bjorn3:archive_logic_dedup, r=cjgillot
bors [Sun, 5 Sep 2021 04:37:12 +0000 (04:37 +0000)]
Auto merge of #88559 - bjorn3:archive_logic_dedup, r=cjgillot

Move add_rlib and add_native_library to cg_ssa

This deduplicates logic between codegen backends.

cc `@antoyo` and `@khyperia` for cg_gcc and rust-gpu.

2 years agoAuto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank
bors [Fri, 3 Sep 2021 00:23:10 +0000 (00:23 +0000)]
Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank

Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix.

This PR fixes a regression (#87745) with `--remap-path-prefix` where the flag stopped causing diagnostic messages to be remapped as well. The regression was introduced in https://github.com/rust-lang/rust/pull/83813 where we erroneously assumed that remapping of diagnostic messages was not desired anymore (because #70642 partially undid that functionality with nobody objecting).

The issue is fixed by making `--remap-path-prefix` remap diagnostic messages again, including for paths that have been remapped in upstream crates (e.g. the standard library). This means that "sysroot-localization" (implemented in #70642) is also disabled if `rustc` is invoked with `--remap-path-prefix`. The assumption is that once someone starts explicitly remapping paths they also don't want paths to their local Rust installation in their build output.

In the future we might want to give more fine-grained control over this behavior via compiler flags (see https://github.com/rust-lang/rfcs/pull/3127 for a related RFC). For now this PR is intended as a regression fix.

This PR is an alternative to https://github.com/rust-lang/rust/pull/88191, which makes diagnostic messages be remapped unconditionally. That approach, however, would effectively revert #70642.

Fixes https://github.com/rust-lang/rust/issues/87745.

cc `@cbeuw`
r? `@ghost`

2 years agoUse in_incr_comp_dir_sess in cg_clif
bjorn3 [Mon, 30 Aug 2021 13:06:56 +0000 (15:06 +0200)]
Use in_incr_comp_dir_sess in cg_clif

2 years agoty::layout: split `LayoutOf` into required and (blanket) provided halves.
Eduard-Mihai Burtescu [Mon, 30 Aug 2021 17:37:36 +0000 (20:37 +0300)]
ty::layout: split `LayoutOf` into required and (blanket) provided halves.

2 years agoty::layout: implement `layout_of` automatically as a default method.
Eduard-Mihai Burtescu [Mon, 30 Aug 2021 15:01:58 +0000 (18:01 +0300)]
ty::layout: implement `layout_of` automatically as a default method.

2 years agorustc_target: move `LayoutOf` to `ty::layout`.
Eduard-Mihai Burtescu [Mon, 30 Aug 2021 14:38:27 +0000 (17:38 +0300)]
rustc_target: move `LayoutOf` to `ty::layout`.

2 years agoUpdate clean_all.sh for the rename of stdsimd to portable-simd
bjorn3 [Wed, 1 Sep 2021 15:21:50 +0000 (17:21 +0200)]
Update clean_all.sh for the rename of stdsimd to portable-simd

2 years agoDisable protable-simd tests
bjorn3 [Wed, 1 Sep 2021 13:06:25 +0000 (15:06 +0200)]
Disable protable-simd tests

Portable-simd doesn't compile on latest nightly

2 years agoUpdate protable-simd
bjorn3 [Wed, 1 Sep 2021 13:05:03 +0000 (15:05 +0200)]
Update protable-simd

2 years agoMove add_rlib and add_native_library to cg_ssa
bjorn3 [Wed, 1 Sep 2021 12:38:37 +0000 (14:38 +0200)]
Move add_rlib and add_native_library to cg_ssa

This deduplicates logic between codegen backends

2 years agoRustup to rustc 1.56.0-nightly (29ef6cf16 2021-08-31)
bjorn3 [Wed, 1 Sep 2021 12:21:36 +0000 (14:21 +0200)]
Rustup to rustc 1.56.0-nightly (29ef6cf16 2021-08-31)

2 years agoSync from rust 3ed6c1d23fd40f4367259a531465e809eb00ec27
bjorn3 [Wed, 1 Sep 2021 12:00:09 +0000 (14:00 +0200)]
Sync from rust 3ed6c1d23fd40f4367259a531465e809eb00ec27

2 years agorustc_target: `TyAndLayout::field` should never error.
Eduard-Mihai Burtescu [Wed, 25 Aug 2021 15:05:10 +0000 (18:05 +0300)]
rustc_target: `TyAndLayout::field` should never error.

2 years agoRemove unnecessary feature gates
bjorn3 [Fri, 27 Aug 2021 13:17:17 +0000 (15:17 +0200)]
Remove unnecessary feature gates

One wasn't necessary anymore at all. Others are only necessary when jit mode is enabled.

2 years agoEnable some warnings
bjorn3 [Fri, 27 Aug 2021 12:04:00 +0000 (14:04 +0200)]
Enable some warnings

2 years agorustc_target: add lifetime parameter to `LayoutOf`.
Eduard-Mihai Burtescu [Wed, 25 Aug 2021 11:51:22 +0000 (14:51 +0300)]
rustc_target: add lifetime parameter to `LayoutOf`.

2 years agoPath remapping: Make behavior of diagnostics output dependent on presence of --remap...
Michael Woerister [Thu, 26 Aug 2021 10:46:01 +0000 (12:46 +0200)]
Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix.

2 years agomake unevaluated const substs optional
lcnr [Mon, 15 Mar 2021 23:05:45 +0000 (00:05 +0100)]
make unevaluated const substs optional

2 years agoFilter out tests marked with needs-asm-support
bjorn3 [Wed, 25 Aug 2021 13:17:34 +0000 (15:17 +0200)]
Filter out tests marked with needs-asm-support

2 years agoUpdate patches/0027-sysroot-128bit-atomic-operations.patch
bjorn3 [Wed, 25 Aug 2021 11:46:15 +0000 (13:46 +0200)]
Update patches/0027-sysroot-128bit-atomic-operations.patch

2 years agoRustup to rustc 1.56.0-nightly (b03ccace5 2021-08-24)
bjorn3 [Wed, 25 Aug 2021 11:12:40 +0000 (13:12 +0200)]
Rustup to rustc 1.56.0-nightly (b03ccace5 2021-08-24)

2 years agoSync from rust 9863bf51a52b8e61bcad312f81b5193d53099f9f
bjorn3 [Wed, 25 Aug 2021 11:05:20 +0000 (13:05 +0200)]
Sync from rust 9863bf51a52b8e61bcad312f81b5193d53099f9f

2 years agoAuto merge of #88135 - crlf0710:trait_upcasting_part_3, r=nikomatsakis
bors [Sat, 21 Aug 2021 21:14:07 +0000 (21:14 +0000)]
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`

2 years agoMove all code out of backend.rs
bjorn3 [Fri, 20 Aug 2021 19:43:53 +0000 (21:43 +0200)]
Move all code out of backend.rs

2 years agoMake {Debug,Unwind}Context::emit non-generic
bjorn3 [Fri, 20 Aug 2021 19:38:50 +0000 (21:38 +0200)]
Make {Debug,Unwind}Context::emit non-generic

2 years agoMove Object creation into metadata.rs
bjorn3 [Fri, 20 Aug 2021 19:38:17 +0000 (21:38 +0200)]
Move Object creation into metadata.rs

2 years agoAdd more architectures to with_object
bjorn3 [Fri, 20 Aug 2021 19:32:04 +0000 (21:32 +0200)]
Add more architectures to with_object

2 years agoRevert "Remove unnecessary bailout in clif_pair_type_from_ty"
bjorn3 [Fri, 20 Aug 2021 17:58:38 +0000 (19:58 +0200)]
Revert "Remove unnecessary bailout in clif_pair_type_from_ty"

This reverts commit 3b22c3a8ec7cc7a66b472c82edc972a3d1fb4410.

Seems to be necessary after all. At least when compiling regex.

2 years agoRemove unnecessary bailout in clif_pair_type_from_ty
bjorn3 [Fri, 20 Aug 2021 17:30:16 +0000 (19:30 +0200)]
Remove unnecessary bailout in clif_pair_type_from_ty

2 years agoRustup to rustc 1.56.0-nightly (6d64f7f69 2021-08-19)
bjorn3 [Fri, 20 Aug 2021 14:15:52 +0000 (16:15 +0200)]
Rustup to rustc 1.56.0-nightly (6d64f7f69 2021-08-19)

2 years agoSync from rust 9ccf661694423895b02e513c69e6ad263b2f3d8e
bjorn3 [Fri, 20 Aug 2021 13:06:07 +0000 (15:06 +0200)]
Sync from rust 9ccf661694423895b02e513c69e6ad263b2f3d8e

2 years agoremove box_syntax uses from cranelift and tools
Marcel Hellwig [Fri, 6 Aug 2021 15:14:27 +0000 (17:14 +0200)]
remove box_syntax uses from cranelift and tools

2 years agoFold `vtable_trait_upcasting_coercion_new_vptr_slot` logic into obligation processing.
Charles Lew [Wed, 18 Aug 2021 04:45:18 +0000 (12:45 +0800)]
Fold `vtable_trait_upcasting_coercion_new_vptr_slot` logic into obligation processing.

2 years agoUpdate rustc_codegen_cratelift for working_dir change
Aaron Hill [Thu, 12 Aug 2021 21:46:58 +0000 (16:46 -0500)]
Update rustc_codegen_cratelift for working_dir change

2 years agoImplement `black_box` using intrinsic
Gary Guo [Tue, 10 Aug 2021 10:50:33 +0000 (11:50 +0100)]
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`.

2 years agoAvoid an unnecessary allocation
bjorn3 [Sat, 7 Aug 2021 12:28:28 +0000 (14:28 +0200)]
Avoid an unnecessary allocation

2 years agoAvoid converting filenames into strings where possible
bjorn3 [Sat, 7 Aug 2021 12:28:07 +0000 (14:28 +0200)]
Avoid converting filenames into strings where possible

2 years agoUse the object crate for archive reading during archive building
bjorn3 [Sat, 7 Aug 2021 12:11:54 +0000 (14:11 +0200)]
Use the object crate for archive reading during archive building

2 years agoAdd warning to the jit mode section of the usage docs
bjorn3 [Mon, 9 Aug 2021 10:30:40 +0000 (12:30 +0200)]
Add warning to the jit mode section of the usage docs

Closes #1192

2 years agoUpdate Cranelift
bjorn3 [Sat, 7 Aug 2021 09:09:03 +0000 (11:09 +0200)]
Update Cranelift

2 years agoRustup to rustc 1.56.0-nightly (5ad7389bd 2021-08-06)
bjorn3 [Sat, 7 Aug 2021 08:33:14 +0000 (10:33 +0200)]
Rustup to rustc 1.56.0-nightly (5ad7389bd 2021-08-06)

2 years agoMerge branch 'sync_from_rust'
bjorn3 [Fri, 6 Aug 2021 14:28:07 +0000 (16:28 +0200)]
Merge branch 'sync_from_rust'

2 years agoMerge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06
bjorn3 [Fri, 6 Aug 2021 14:26:56 +0000 (16:26 +0200)]
Merge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06

2 years agoRustup to rustc 1.56.0-nightly (25b764849 2021-08-04)
bjorn3 [Thu, 5 Aug 2021 13:32:02 +0000 (15:32 +0200)]
Rustup to rustc 1.56.0-nightly (25b764849 2021-08-04)

2 years agoSync from rust 2ddb65c32253872c0e7a02e43ec520877900370e
bjorn3 [Thu, 5 Aug 2021 12:39:37 +0000 (14:39 +0200)]
Sync from rust 2ddb65c32253872c0e7a02e43ec520877900370e

2 years agochange instructions for manually compiling y.rs (#1191)
Gheorghe Anghelescu [Wed, 4 Aug 2021 07:23:27 +0000 (10:23 +0300)]
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`.

2 years agoAuto merge of #87515 - crlf0710:trait_upcasting_part2, r=bjorn3
bors [Tue, 3 Aug 2021 16:58:56 +0000 (16:58 +0000)]
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`

2 years agoImplement pointer casting.
Charles Lew [Sat, 31 Jul 2021 14:46:23 +0000 (22:46 +0800)]
Implement pointer casting.

2 years agorfc3052: Remove authors field from Cargo manifests
Jade [Tue, 27 Jul 2021 23:38:13 +0000 (16:38 -0700)]
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.

2 years agoRe-enable a fixed rustc tests
bjorn3 [Thu, 29 Jul 2021 17:46:31 +0000 (19:46 +0200)]
Re-enable a fixed rustc tests

2 years agoFix float min and max operations in presence of NaN
bjorn3 [Thu, 29 Jul 2021 13:20:37 +0000 (15:20 +0200)]
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

2 years agoSupport storing return values in register places for all pass modes
bjorn3 [Wed, 28 Jul 2021 16:54:21 +0000 (18:54 +0200)]
Support storing return values in register places for all pass modes

2 years agoRemove CPlace::no_place
bjorn3 [Wed, 28 Jul 2021 16:31:27 +0000 (18:31 +0200)]
Remove CPlace::no_place

It is never the right function

2 years agoAllow returning PassMode::Cast directly to an ssa var
bjorn3 [Wed, 28 Jul 2021 16:27:06 +0000 (18:27 +0200)]
Allow returning PassMode::Cast directly to an ssa var

2 years agoRemove outdated FIXME
bjorn3 [Wed, 28 Jul 2021 16:26:03 +0000 (18:26 +0200)]
Remove outdated FIXME

2 years agoRemove workarounds for things unimplemented in Cranelift
bjorn3 [Wed, 28 Jul 2021 15:30:39 +0000 (17:30 +0200)]
Remove workarounds for things unimplemented in Cranelift

Many are now implemented, so it is much nicer to directly use the
respective Cranelift instructions

2 years agoUse __muloti4 instead of __rust_i128_mulo
bjorn3 [Wed, 28 Jul 2021 12:54:05 +0000 (14:54 +0200)]
Use __muloti4 instead of __rust_i128_mulo

Fixes #1126

2 years agoRustup to rustc 1.56.0-nightly (08095fc1f 2021-07-26)
bjorn3 [Tue, 27 Jul 2021 13:22:50 +0000 (15:22 +0200)]
Rustup to rustc 1.56.0-nightly (08095fc1f 2021-07-26)

2 years agoUpdate dependencies
bjorn3 [Tue, 27 Jul 2021 10:54:58 +0000 (12:54 +0200)]
Update dependencies

2 years agoUpdate Cranelift, gimli and object
bjorn3 [Tue, 27 Jul 2021 10:42:16 +0000 (12:42 +0200)]
Update Cranelift, gimli and object

2 years agoEnable a working libcore test
bjorn3 [Mon, 26 Jul 2021 17:34:23 +0000 (19:34 +0200)]
Enable a working libcore test

2 years agoReplace pointer_ty() with fx.pointer_type where possible
bjorn3 [Mon, 26 Jul 2021 17:21:45 +0000 (19:21 +0200)]
Replace pointer_ty() with fx.pointer_type where possible

2 years agoUpdate compiler_builtins version in setup_rust_fork.sh
bjorn3 [Mon, 26 Jul 2021 17:19:57 +0000 (19:19 +0200)]
Update compiler_builtins version in setup_rust_fork.sh

2 years agoFix ABI for Indirect arguments
bjorn3 [Mon, 26 Jul 2021 16:17:22 +0000 (18:17 +0200)]
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

2 years agoFix y.rs build --sysroot llvm
bjorn3 [Mon, 26 Jul 2021 14:11:24 +0000 (16:11 +0200)]
Fix y.rs build --sysroot llvm

2 years agoHandle the extra argument for #[track_caller] earlier
bjorn3 [Mon, 26 Jul 2021 13:01:50 +0000 (15:01 +0200)]
Handle the extra argument for #[track_caller] earlier

2 years agoDon't return anything from codegen_with_call_return_arg
bjorn3 [Mon, 26 Jul 2021 12:55:13 +0000 (14:55 +0200)]
Don't return anything from codegen_with_call_return_arg

2 years agoSimplify logic around first_arg
bjorn3 [Mon, 26 Jul 2021 12:49:17 +0000 (14:49 +0200)]
Simplify logic around first_arg

2 years agoIntroduce the CallTarget enum
bjorn3 [Mon, 26 Jul 2021 12:40:27 +0000 (14:40 +0200)]
Introduce the CallTarget enum

2 years agoAdd stdsimd to .gitignore and clean_all.sh
bjorn3 [Mon, 26 Jul 2021 12:13:05 +0000 (14:13 +0200)]
Add stdsimd to .gitignore and clean_all.sh

2 years agoImplement "default_alloc_error_handler" feature
bjorn3 [Mon, 26 Jul 2021 12:11:19 +0000 (14:11 +0200)]
Implement "default_alloc_error_handler" feature

Fixes #1182

2 years agoMerge pull request #1189 from bjorn3/stdsimd_fixes
bjorn3 [Mon, 26 Jul 2021 09:09:13 +0000 (11:09 +0200)]
Merge pull request #1189 from bjorn3/stdsimd_fixes

Improve stdsimd support

2 years agoAdd fixme
bjorn3 [Sun, 25 Jul 2021 16:46:10 +0000 (18:46 +0200)]
Add fixme

2 years agoRun stdsimd test suite
bjorn3 [Sun, 25 Jul 2021 16:45:56 +0000 (18:45 +0200)]
Run stdsimd test suite

2 years agoFix simd_round implementation
bjorn3 [Sun, 25 Jul 2021 16:44:42 +0000 (18:44 +0200)]
Fix simd_round implementation

2 years agoImplement more simd intrinsics
bjorn3 [Sat, 24 Jul 2021 13:25:32 +0000 (15:25 +0200)]
Implement more simd intrinsics