Commit Graph

1965 Commits

Author SHA1 Message Date
bjorn3
5f21ff20b3 Inline codegen_mono_item 2020-12-04 10:19:50 +01:00
bjorn3
3f28a49177 Update Cranelift
This includes bytecodealliance/wasmtime#2403 which enables hotswapping with SimpleJIT
2020-12-04 10:19:32 +01:00
bjorn3
d95d03ae8a Support #[repr(simd)] on array wrappers
Complement to rust-lang/rust#78863
2020-12-03 12:59:36 +01:00
bjorn3
64e7ff25f6 Update Cranelift 2020-12-03 12:12:46 +01:00
bjorn3
a8cda1aee1 Rustup to rustc 1.50.0-nightly (f4db9ffb2 2020-12-02) 2020-12-03 11:52:11 +01:00
oli
7760894d3f Allow cranelift to handle atomic pointers 2020-11-29 14:56:19 +00:00
bjorn3
3d357e6505 Sync from rust 760430e6fd 2020-11-29 14:50:21 +01:00
bjorn3
d404840788 Merge commit '5988bbd24aa87732bfa1d111ba00bcdaa22c481a' into sync_cg_clif-2020-11-27 2020-11-27 20:48:53 +01:00
bjorn3
5988bbd24a Revert "Use the new component dependency option of the rust-toolchain file"
This reverts commit 648caced6e.

Rustup on github actions isn't yet updated
2020-11-27 18:05:05 +01:00
bjorn3
de4ce8c05f Sync from rust c922857066 2020-11-27 18:01:29 +01:00
bjorn3
aef656aee8 Rustup to rustc 1.50.0-nightly (72da5a9d8 2020-11-26) 2020-11-27 18:01:01 +01:00
bjorn3
648caced6e Use the new component dependency option of the rust-toolchain file 2020-11-27 17:53:55 +01:00
bors
b5f6c0032e Auto merge of #79336 - camelid:rename-feature-oibit-to-auto, r=oli-obk
Rename `optin_builtin_traits` to `auto_traits`

They were originally called "opt-in, built-in traits" (OIBITs), but
people realized that the name was too confusing and a mouthful, and so
they were renamed to just "auto traits". The feature flag's name wasn't
updated, though, so that's what this PR does.

There are some other spots in the compiler that still refer to OIBITs,
but I don't think changing those now is worth it since they are internal
and not particularly relevant to this PR.

Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>.

r? `@oli-obk` (feel free to re-assign if you're not the right reviewer for this)
2020-11-25 07:25:19 +00:00
Camelid
57739b54cb Rename optin_builtin_traits to auto_traits
They were originally called "opt-in, built-in traits" (OIBITs), but
people realized that the name was too confusing and a mouthful, and so
they were renamed to just "auto traits". The feature flag's name wasn't
updated, though, so that's what this PR does.

There are some other spots in the compiler that still refer to OIBITs,
but I don't think changing those now is worth it since they are internal
and not particularly relevant to this PR.

Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>.
2020-11-23 14:14:06 -08:00
bjorn3
41047de9e2 Rustfmt 2020-11-23 11:49:06 +01:00
bjorn3
e99f78af08 Make simd_extract panic at runtime on non-const index again
This is necessary to compile packed_simd
2020-11-23 11:48:53 +01:00
bjorn3
d2eeed4ff5 Implement more simd_reduce_* intrinsics 2020-11-23 11:45:41 +01:00
bjorn3
47ff2e0932 Implement float simd comparisons 2020-11-23 11:21:15 +01:00
bjorn3
22c9623604 Implement simd_reduce_{add,mul}_{,un}ordered 2020-11-23 11:09:19 +01:00
Lzu Tao
e4cc56d760 Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
bjorn3
c3179bc44b Rustup to rustc 1.50.0-nightly (593fe977a 2020-11-20) 2020-11-21 19:49:51 +01:00
bjorn3
77e90f1cb5 Sync from rust 539402cb0b 2020-11-21 18:43:51 +01:00
Bastian Kauschke
56e63805be update cg_clif 2020-11-16 22:42:09 +01:00
bjorn3
ffd6fdd843 Remove unnecessary paths from LD_LIBRARY_PATH 2020-11-13 19:51:00 +01:00
bjorn3
c982c48579 Use rpath to compile the cg_clif executable 2020-11-13 19:48:49 +01:00
bjorn3
bf94b3819c Rustfmt 2020-11-13 19:02:24 +01:00
bjorn3
7ec44711e6 Rustup to rustc 1.49.0-nightly (9722952f0 2020-11-12) 2020-11-13 19:01:40 +01:00
bjorn3
753e6bcd5f Sync from rust f2a11a2537 2020-11-13 18:47:37 +01:00
bjorn3
4e547b942d Move some things from codegen_mono_item to trans_fn 2020-11-12 17:08:51 +01:00
bjorn3
db8fa0edfa Inline codegen_mono_items and outline predefine_mono_items 2020-11-12 17:07:02 +01:00
bjorn3
0a4f37c1fa
Merge pull request #1111 from jakobhellermann/hardlinks-instead-of-copy
use hardlinks instead of copying files
2020-11-12 16:37:40 +01:00
Jakob Hellermann
7ab499fe49 use hardlinks instead of copying files 2020-11-12 16:18:03 +01:00
bjorn3
6eaa502049 Update Cranelift for SimpleJIT changes 2020-11-12 11:56:09 +01:00
bjorn3
96c4542dc3 Avoid muliplications by 1
```
Benchmark #1: ./raytracer_cg_clif_pre
  Time (mean ± σ):      9.553 s ±  0.129 s    [User: 9.543 s, System: 0.008 s]
  Range (min … max):    9.438 s …  9.837 s    10 runs

Benchmark #2: ./raytracer_cg_clif_post
  Time (mean ± σ):      9.463 s ±  0.055 s    [User: 9.452 s, System: 0.008 s]
  Range (min … max):    9.387 s …  9.518 s    10 runs

Summary
  './raytracer_cg_clif_post' ran
    1.01 ± 0.01 times faster than './raytracer_cg_clif_pre'
```
2020-11-12 11:09:58 +01:00
Nicholas-Baron
a5ec85758b Changed unwrap_or to unwrap_or_else in some places.
The discussion seems to have resolved that this lint is a bit "noisy" in
that applying it in all places would result in a reduction in
readability.

A few of the trivial functions (like `Path::new`) are fine to leave
outside of closures.

The general rule seems to be that anything that is obviously an
allocation (`Box`, `Vec`, `vec![]`) should be in a closure, even if it
is a 0-sized allocation.
2020-11-10 20:07:47 -08:00
Jonas Schievink
65ae469f8d Rollup merge of #78875 - petrochenkov:cleantarg, r=Mark-Simulacrum
rustc_target: Further cleanup use of target options

Follow up to https://github.com/rust-lang/rust/pull/77729.

Implements items 2 and 4 from the list in https://github.com/rust-lang/rust/pull/77729#issue-500228243.

The first commit collapses uses of `target.options.foo` into `target.foo`.

The second commit renames some target options to avoid tautology:
`target.target_endian` -> `target.endian`
`target.target_c_int_width` -> `target.c_int_width`
`target.target_os` -> `target.os`
`target.target_env` -> `target.env`
`target.target_vendor` -> `target.vendor`
`target.target_family` -> `target.os_family`
`target.target_mcount` -> `target.mcount`

r? `@Mark-Simulacrum`
2020-11-10 14:45:21 +01:00
bjorn3
4700926e54 Update dependencies 2020-11-09 18:43:54 +01:00
bjorn3
1a32c542ff Update Cranelift 2020-11-09 18:16:08 +01:00
Dylan DPC
806538fa78 Rollup merge of #78674 - tmiasko:inline-substs-for-mir-body, r=oli-obk
inliner: Use substs_for_mir_body

Changes from 68965 extended the kind of instances that are being
inlined. For some of those, the `instance_mir` returns a MIR body that
is already expressed in terms of the types found in substitution array,
and doesn't need further substitution.

Use `substs_for_mir_body` to take that into account.

Resolves #78529.
Resolves #78560.
2020-11-09 01:13:42 +01:00
bjorn3
cf3aa64c66 Better build dir layout
It now matches the layout used by rustc itself
2020-11-08 17:35:59 +01:00
bjorn3
df45a06f89 Don't add .d and .rmeta files to the sysroot
Fixes #1106
2020-11-08 17:15:31 +01:00
bjorn3
6210ee2134 Set diff=rust git attribute for rust files
This gives nicer hunk headers

Fixes #1095
2020-11-08 16:36:52 +01:00
Vadim Petrochenkov
e9c34b3cf8 Collapse all uses of target.options.foo into target.foo
with an eye on merging `TargetOptions` into `Target`.

`TargetOptions` as a separate structure is mostly an implementation detail of `Target` construction, all its fields logically belong to `Target` and available from `Target` through `Deref` impls.
2020-11-08 17:29:13 +03:00
bjorn3
11dd005a88 Sync from rust 0256d065d4 2020-11-07 19:34:01 +01:00
bjorn3
9e1ac29cc9 Fix ICE (part 2) 2020-11-06 21:29:11 +01:00
bjorn3
4da67855f1 Rustfmt 2020-11-06 19:50:30 +01:00
bjorn3
509054d4de Fix ICE 2020-11-06 19:49:33 +01:00
bjorn3
9b66df4249 Sync from rust dc06a36074 2020-11-06 19:44:56 +01:00
bjorn3
66e4f1bb7a Don't overwrite RUSTFLAGS for cargo.sh 2020-11-06 19:33:55 +01:00
bjorn3
777c9dabc0 Add rustup pull command 2020-11-06 19:33:54 +01:00