]>
git.lizzy.rs Git - rust.git/log
bjorn3 [Tue, 28 Jun 2022 09:53:40 +0000 (11:53 +0200)]
Run regalloc checker on CI
This would have caught the issue that required releasing Cranelift 0.85.1
bjorn3 [Tue, 28 Jun 2022 09:52:21 +0000 (11:52 +0200)]
Update to Cranelift 0.85.1
This fixes a miscompilation
Nicholas Nethercote [Sun, 26 Jun 2022 22:48:55 +0000 (08:48 +1000)]
Update `smallvec` to 1.8.1.
This pulls in https://github.com/servo/rust-smallvec/pull/282, which
gives some small wins for rustc.
bjorn3 [Thu, 23 Jun 2022 14:32:08 +0000 (14:32 +0000)]
Update for changes to the rustc test suite
bjorn3 [Mon, 16 Aug 2021 13:07:35 +0000 (15:07 +0200)]
Disable DWARF debuginfo on Windows
Windows uses PDB instead of DWARF and using DWARF debuginfo causes the linker to give an error
bjorn3 [Thu, 23 Jun 2022 13:19:54 +0000 (15:19 +0200)]
Update Cranelift to 0.85.0
bjorn3 [Thu, 23 Jun 2022 13:01:46 +0000 (15:01 +0200)]
Adopt for "Remove dereferencing of Box from codegen"
bjorn3 [Thu, 23 Jun 2022 12:58:55 +0000 (14:58 +0200)]
Rustup to rustc 1.63.0-nightly (
10f4ce324 2022-06-22)
bjorn3 [Thu, 23 Jun 2022 12:52:31 +0000 (14:52 +0200)]
bors [Tue, 21 Jun 2022 16:24:56 +0000 (16:24 +0000)]
Auto merge of #98098 - bjorn3:archive_refactor, r=michaelwoerister
Remove the source archive functionality of ArchiveWriter
We now build archives through strictly additive means rather than taking an existing archive and potentially substracting parts. This is simpler and makes it easier to swap out the archive writer in https://github.com/rust-lang/rust/pull/97485.
bjorn3 [Tue, 14 Jun 2022 15:16:51 +0000 (15:16 +0000)]
Remove the source archive functionality of ArchiveWriter
We now build archives through strictly additive means rather than taking
an existing archive and potentially substracting parts.
bjorn3 [Sat, 18 Jun 2022 17:55:24 +0000 (17:55 +0000)]
Fix "Remove src_files and remove_file"
Matthias Krüger [Sat, 18 Jun 2022 22:17:13 +0000 (00:17 +0200)]
Rollup merge of #98165 - WaffleLapkin:once_things_renamings, r=m-ou-se
once cell renamings
This PR does the renamings proposed in https://github.com/rust-lang/rust/issues/74465#issuecomment-
1153703128
- Move/rename `lazy::{OnceCell, Lazy}` to `cell::{OnceCell, LazyCell}`
- Move/rename `lazy::{SyncOnceCell, SyncLazy}` to `sync::{OnceLock, LazyLock}`
(I used `Lazy...` instead of `...Lazy` as it seems to be more consistent, easier to pronounce, etc)
```@rustbot``` label +T-libs-api -T-libs
Yuki Okushi [Thu, 16 Jun 2022 22:16:55 +0000 (07:16 +0900)]
Rollup merge of #97675 - nvzqz:unsized-needs-drop, r=dtolnay
Make `std::mem::needs_drop` accept `?Sized`
This change attempts to make `needs_drop` work with types like `[u8]` and `str`.
This enables code in types like `Arc<T>` that was not possible before, such as https://github.com/rust-lang/rust/pull/97676.
Maybe Waffle [Thu, 16 Jun 2022 15:39:39 +0000 (19:39 +0400)]
Move/rename `lazy::Sync{OnceCell,Lazy}` to `sync::{Once,Lazy}Lock`
bjorn3 [Tue, 14 Jun 2022 15:11:14 +0000 (15:11 +0000)]
Remove src_files and remove_file
They only apply to the main source archive and their role can be
fulfilled through the skip argument of add_archive too.
b-naber [Wed, 16 Feb 2022 09:56:01 +0000 (10:56 +0100)]
implement valtrees as the type-system representation for constant values
bjorn3 [Tue, 14 Jun 2022 10:34:26 +0000 (12:34 +0200)]
Rustup to rustc 1.63.0-nightly (
ca122c7eb 2022-06-13)
Nicholas Nethercote [Fri, 10 Jun 2022 01:18:06 +0000 (11:18 +1000)]
Rename the `ConstS::val` field as `kind`.
And likewise for the `Const::val` method.
Because its type is called `ConstKind`. Also `val` is a confusing name
because `ConstKind` is an enum with seven variants, one of which is
called `Value`. Also, this gives consistency with `TyS` and `PredicateS`
which have `kind` fields.
The commit also renames a few `Const` variables from `val` to `c`, to
avoid confusion with the `ConstKind::Value` variant.
bjorn3 [Thu, 9 Jun 2022 14:56:53 +0000 (14:56 +0000)]
Fix running rustc tests
There are still two failures due to incorrect test annotations
bjorn3 [Thu, 9 Jun 2022 13:30:23 +0000 (15:30 +0200)]
Mark extern rust-cold calls as cold
bjorn3 [Thu, 9 Jun 2022 13:25:44 +0000 (15:25 +0200)]
Rustup to rustc 1.63.0-nightly (
7466d5492 2022-06-08)
bjorn3 [Thu, 9 Jun 2022 13:18:41 +0000 (15:18 +0200)]
bors [Tue, 7 Jun 2022 11:08:58 +0000 (11:08 +0000)]
Auto merge of #97825 - Dylan-DPC:rollup-ya51k1k, r=Dylan-DPC
Rollup of 5 pull requests
Successful merges:
- #97058 (Various refactors to the incr comp workproduct handling)
- #97301 (Allow unstable items to be re-exported unstably without requiring the feature be enabled)
- #97738 (Fix ICEs from zsts within unsized types with non-zero offsets)
- #97771 (Remove SIGIO reference on Haiku)
- #97808 (Add some unstable target features for the wasm target codegen)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
bors [Tue, 7 Jun 2022 08:12:45 +0000 (08:12 +0000)]
Auto merge of #97512 - scottmcm:add-coldcc, r=nagisa,lcnr
Add support for emitting functions with `coldcc` to LLVM
The eventual goal is to try using this for things like the internal panicking stuff, to see whether it helps.
bjorn3 [Sun, 15 May 2022 11:31:28 +0000 (11:31 +0000)]
Make saved_file field of WorkProduct non-optional
A WorkProduct without a saved file is useless
bjorn3 [Fri, 13 May 2022 12:20:32 +0000 (12:20 +0000)]
Factor Option out of copy_cgu_workproduct_to_incr_comp_cache_dir call
This improves clarity of the code a bit
bjorn3 [Fri, 13 May 2022 12:18:13 +0000 (12:18 +0000)]
Avoid an unnecessary clone for copy_cgu_workproduct_to_incr_comp_cache_dir calls
bjorn3 [Fri, 13 May 2022 10:32:03 +0000 (10:32 +0000)]
Rename CodegenUnit::work_product to previous_work_product
It returns the previous work product or panics if there is none. This rename
makes the purpose of this method clearer.
Nikolai Vazquez [Fri, 3 Jun 2022 16:58:36 +0000 (12:58 -0400)]
Fix unsized field order
Nikolai Vazquez [Fri, 3 Jun 2022 07:28:19 +0000 (03:28 -0400)]
Make `std::mem::needs_drop` accept `?Sized`
bjorn3 [Thu, 2 Jun 2022 18:50:45 +0000 (20:50 +0200)]
Remove workaround for bytecodealliance/wasmtime#3963
Ralf Jung [Thu, 2 Jun 2022 13:05:37 +0000 (09:05 -0400)]
add cast kind of from_exposed_addr (int-to-ptr casts)
Ralf Jung [Wed, 1 Jun 2022 17:24:44 +0000 (13:24 -0400)]
rename PointerAddress → PointerExposeAddress
Tomasz Miąsko [Tue, 31 May 2022 00:00:00 +0000 (00:00 +0000)]
Add a pointer to address cast kind
A pointer to address cast are often special-cased.
Introduce a dedicated cast kind to make them easy distinguishable.
Scott McMurray [Sun, 29 May 2022 17:50:51 +0000 (10:50 -0700)]
Use CallConv::Cold in cranelift for extern "rust-cold"
Scott McMurray [Sun, 29 May 2022 07:25:14 +0000 (00:25 -0700)]
Add support for emitting functions with `coldcc` in LLVM
The eventual goal is to try using this for things like the internal panicking stuff, to see whether it helps.
5225225 [Mon, 23 May 2022 15:44:05 +0000 (16:44 +0100)]
Add flag for stricter checks on uninit/zeroed
Jakob Degen [Sat, 16 Apr 2022 13:27:54 +0000 (09:27 -0400)]
Refactor call terminator to always hold a destination place
bjorn3 [Sun, 22 May 2022 18:35:24 +0000 (20:35 +0200)]
Update rust-analyzer configuration
bjorn3 [Fri, 20 May 2022 16:19:15 +0000 (18:19 +0200)]
Rustup to rustc 1.63.0-nightly (
c06728704 2022-05-19)
bjorn3 [Fri, 20 May 2022 14:44:20 +0000 (16:44 +0200)]
Update Cranelift and object
bjorn3 [Wed, 18 May 2022 16:18:11 +0000 (18:18 +0200)]
Fix symbol tables in case of multiple object files with the same name
Fixes #1228
bjorn3 [Tue, 17 May 2022 09:39:43 +0000 (11:39 +0200)]
Rustup to rustc 1.63.0-nightly (
c52b9c10b 2022-05-16)
bjorn3 [Sun, 15 May 2022 10:39:16 +0000 (12:39 +0200)]
Merge branch 'sync_from_rust'
bjorn3 [Sun, 15 May 2022 10:32:19 +0000 (12:32 +0200)]
Merge commit '
63734fcdd718cca089f84c42f3a42c0096cfd431 ' into sync_cg_clif-2022-05-15
bjorn3 [Sun, 15 May 2022 10:22:00 +0000 (12:22 +0200)]
Rustup to rustc 1.62.0-nightly (
70b3681bf 2022-05-14)
bjorn3 [Sun, 15 May 2022 10:25:32 +0000 (12:25 +0200)]
Scott McMurray [Sat, 9 Apr 2022 21:14:35 +0000 (14:14 -0700)]
Rename `unsigned_offset_from` to `sub_ptr`
Scott McMurray [Sat, 9 Apr 2022 08:27:47 +0000 (01:27 -0700)]
Add `unsigned_offset_from` on pointers
Like we have `add`/`sub` which are the `usize` version of `offset`, this adds the `usize` equivalent of `offset_from`. Like how `.add(d)` replaced a whole bunch of `.offset(d as isize)`, you can see from the changes here that it's fairly common that code actually knows the order between the pointers and *wants* a `usize`, not an `isize`.
As a bonus, this can do `sub nuw`+`udiv exact`, rather than `sub`+`sdiv exact`, which can be optimized slightly better because it doesn't have to worry about negatives. That's why the slice iterators weren't using `offset_from`, though I haven't updated that code in this PR because slices are so perf-critical that I'll do it as its own change.
This is an intrinsic, like `offset_from`, so that it can eventually be allowed in CTFE. It also allows checking the extra safety condition -- see the test confirming that CTFE catches it if you pass the pointers in the wrong order.
bjorn3 [Wed, 11 May 2022 10:49:31 +0000 (10:49 +0000)]
Use cfg(any()) instead of cfg(disabled)
Rustbuild uses --check-cfg without allowing disabled as cfg name
bjorn3 [Mon, 9 May 2022 16:46:38 +0000 (18:46 +0200)]
Merge pull request #1227 from Kmeakin/master
Only enable JIT tests on x86_64
Karl Meakin [Mon, 9 May 2022 15:34:16 +0000 (16:34 +0100)]
Only enable JIT tests on x86_64
Cranelift currently only supports JIT on x86_64 targets.
Disable JIT tests on all other targets, so that failing tests are
ignored.
bjorn3 [Sat, 7 May 2022 12:56:36 +0000 (14:56 +0200)]
Rustup to rustc 1.62.0-nightly (
77652b9ef 2022-05-06)
bjorn3 [Fri, 6 May 2022 16:54:13 +0000 (18:54 +0200)]
Rustfmt
bjorn3 [Fri, 6 May 2022 16:26:20 +0000 (18:26 +0200)]
Fix assert_assignable for array types
Fixes #1226
bjorn3 [Fri, 6 May 2022 16:12:01 +0000 (18:12 +0200)]
Add missing comma in vscode settings
bjorn3 [Sun, 1 May 2022 13:54:12 +0000 (15:54 +0200)]
Fix jit mode with cargo-clif wrapper
bjorn3 [Sat, 30 Apr 2022 14:21:43 +0000 (16:21 +0200)]
Fix #[track_caller] location for function chains
bjorn3 [Sat, 30 Apr 2022 13:01:57 +0000 (15:01 +0200)]
Fix #[track_caller] with MIR inlining
bjorn3 [Sat, 30 Apr 2022 12:09:03 +0000 (14:09 +0200)]
Remove profile overrides for build scripts and their dependencies
Cargo now disables optimizations for build scripts by default anyway, so
they aren't really useful anymore.
bjorn3 [Sat, 30 Apr 2022 11:44:18 +0000 (13:44 +0200)]
Update object for the nightly Cranelift check
bjorn3 [Sat, 30 Apr 2022 11:40:16 +0000 (13:40 +0200)]
Update actions/checkout to v3
bjorn3 [Sat, 30 Apr 2022 11:34:40 +0000 (13:34 +0200)]
Merge pull request #1225 from bjorn3/build_system_rework
Use -Zcodegen-backend instead of a custom rustc driver
bjorn3 [Fri, 29 Apr 2022 17:47:43 +0000 (19:47 +0200)]
Don't unnecessarily copy rustc_std_workspace_std into the sysroot
bjorn3 [Sun, 13 Feb 2022 18:31:49 +0000 (19:31 +0100)]
Use -Zcodegen-backend instead of a rustc replacement in cargo-clif
bjorn3 [Sun, 13 Feb 2022 17:33:30 +0000 (18:33 +0100)]
Remove cg_clif_build_sysroot
bjorn3 [Sun, 13 Feb 2022 18:36:36 +0000 (19:36 +0100)]
Inline ext_config.sh
bjorn3 [Sun, 13 Feb 2022 17:46:53 +0000 (18:46 +0100)]
Remove less of the sysroot build dir on recompilation
bjorn3 [Mon, 14 Feb 2022 14:24:14 +0000 (15:24 +0100)]
Use jit_builder.symbol instead of #[no_mangle] for __clif_jit_fn
#[no_mangle] doesn't resolve when the codegen backend is opened with RTLD_LOCAL
bjorn3 [Wed, 27 Apr 2022 14:54:35 +0000 (16:54 +0200)]
Minor changes to tests.sh
bjorn3 [Wed, 27 Apr 2022 12:09:41 +0000 (14:09 +0200)]
Fix running the rustc test suite
bjorn3 [Wed, 27 Apr 2022 10:32:20 +0000 (12:32 +0200)]
Rustup to rustc 1.62.0-nightly (
082e4ca49 2022-04-26)
bjorn3 [Fri, 22 Apr 2022 19:12:23 +0000 (21:12 +0200)]
Merge branch 'sync_from_rust'
bjorn3 [Fri, 22 Apr 2022 19:11:38 +0000 (21:11 +0200)]
Merge commit '
f2cdd4a78d89c009342197cf5844a21f8aa813df ' into sync_cg_clif-2022-04-22
bjorn3 [Thu, 21 Apr 2022 18:54:50 +0000 (20:54 +0200)]
Rustup to rustc 1.62.0-nightly (
879aff385 2022-04-20)
bjorn3 [Thu, 21 Apr 2022 18:23:21 +0000 (20:23 +0200)]
bjorn3 [Thu, 21 Apr 2022 17:22:12 +0000 (19:22 +0200)]
Update Cranelift to 0.83.0
bjorn3 [Sun, 17 Apr 2022 17:41:24 +0000 (19:41 +0200)]
Remove option to select regalloc algorithm
The main branch of Cranelift has switched to a new register allocator.
This register allocator doesn't have any alternative regalloc algorithms
unlike the old register allocator.
MikaelUrankar [Thu, 14 Apr 2022 12:18:13 +0000 (14:18 +0200)]
Don't assume /bin/bash is available on every system. (#1223)
Co-authored-by: MikaelUrankar <mikael.urankar@gmail.com>
Jakob Degen [Tue, 5 Apr 2022 21:14:59 +0000 (17:14 -0400)]
Add new `Deinit` statement kind
klensy [Tue, 5 Apr 2022 12:52:53 +0000 (15:52 +0300)]
check_doc_keyword: don't alloc string for emptiness check
check_doc_alias_value: get argument as Symbol to prevent needless string convertions
check_doc_attrs: don't alloc vec, iterate over slice. Vec introduced in #83149, but no perf run posted on merge
replace as_str() check with symbol check
get_single_str_from_tts: don't prealloc string
trivial string to str replace
LifetimeScopeForPath::NonElided use Vec<Symbol> instead of Vec<String>
AssertModuleSource use BTreeSet<Symbol> instead of BTreeSet<String>
CrateInfo.crate_name replace FxHashMap<CrateNum, String> with FxHashMap<CrateNum, Symbol>
Oli Scherer [Thu, 3 Mar 2022 12:02:12 +0000 (12:02 +0000)]
Mark scalar layout unions so that backends that do not support partially initialized scalars can special case them.
bjorn3 [Tue, 5 Apr 2022 10:46:56 +0000 (12:46 +0200)]
Ignore broken rustc test
bjorn3 [Tue, 5 Apr 2022 09:44:41 +0000 (11:44 +0200)]
Rustup to rustc 1.62.0-nightly (
60e50fc1c 2022-04-04)
bjorn3 [Tue, 5 Apr 2022 09:31:42 +0000 (11:31 +0200)]
Loïc BRANSTETT [Sun, 3 Apr 2022 16:42:39 +0000 (18:42 +0200)]
Cleanup after some refactoring in rustc_target
Yuri Astrakhan [Wed, 30 Mar 2022 21:04:46 +0000 (17:04 -0400)]
Addressed comments by @compiler-errors and @bjorn3
Yuri Astrakhan [Wed, 30 Mar 2022 19:14:15 +0000 (15:14 -0400)]
Spellchecking compiler comments
This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues.
Dylan DPC [Wed, 30 Mar 2022 07:10:07 +0000 (09:10 +0200)]
Rollup merge of #95461 - nyurik:spelling, r=lcnr
Spellchecking some comments
This PR attempts to clean up some minor spelling mistakes in comments
Yuri Astrakhan [Wed, 30 Mar 2022 05:42:10 +0000 (01:42 -0400)]
Spellchecking compiler code
Address some spelling mistakes in strings, private function names, and function params.
Yuri Astrakhan [Wed, 30 Mar 2022 05:39:38 +0000 (01:39 -0400)]
Spellchecking some comments
This PR attempts to clean up some minor spelling mistakes in comments
bjorn3 [Fri, 25 Mar 2022 19:42:58 +0000 (20:42 +0100)]
Use fma(f) libm function for simd_fma intrinsic
bjorn3 [Fri, 25 Mar 2022 19:24:47 +0000 (20:24 +0100)]
Fix NaN handling of simd float min and max operations
bjorn3 [Fri, 25 Mar 2022 18:17:19 +0000 (19:17 +0100)]
Fix saturating float casts test
Fixes #737
bjorn3 [Fri, 25 Mar 2022 16:28:39 +0000 (17:28 +0100)]
Rustup to rustc 1.61.0-nightly (
63b8f01bb 2022-03-24)
bjorn3 [Fri, 25 Mar 2022 16:19:19 +0000 (17:19 +0100)]
bjorn3 [Tue, 22 Mar 2022 11:35:49 +0000 (12:35 +0100)]
Update list of ignored rustc tests
bjorn3 [Tue, 22 Mar 2022 11:02:50 +0000 (12:02 +0100)]
Rustup to rustc 1.61.0-nightly (
3c17c84a3 2022-03-21)
bjorn3 [Fri, 18 Mar 2022 19:34:27 +0000 (20:34 +0100)]
Don't declare test_variadic_fnptr with two conflicting signatures
It is UB for LLVM and results in a compile error for Cranelift