]>
git.lizzy.rs Git - rust.git/log
bjorn3 [Tue, 26 Jul 2022 15:14:22 +0000 (15:14 +0000)]
Fully remove the intrinsic_match macro
bjorn3 [Tue, 26 Jul 2022 14:45:00 +0000 (14:45 +0000)]
Start moving away from the intrinsic_match macro
It isn't clear most people other than me and it blocks formatting by
rustfmt.
bjorn3 [Mon, 25 Jul 2022 14:28:35 +0000 (16:28 +0200)]
Merge branch 'sync_from_rust'
bjorn3 [Mon, 25 Jul 2022 14:07:57 +0000 (16:07 +0200)]
Merge commit '
c19edfd71a1d0ddef86c2c67fdb40718d40a72b4 ' into sync_cg_clif-2022-07-25
bjorn3 [Mon, 25 Jul 2022 14:06:39 +0000 (16:06 +0200)]
Rustup to rustc 1.64.0-nightly (
7fe022f5a 2022-07-24)
bjorn3 [Mon, 25 Jul 2022 14:00:44 +0000 (16:00 +0200)]
bjorn3 [Mon, 25 Jul 2022 13:50:43 +0000 (13:50 +0000)]
Update Cranelift to 0.85.3
This fixes a couple of potential miscompilations. None affect cg_clif on
x86_64, but one may affect cg_clif on AArch64.
bjorn3 [Mon, 25 Jul 2022 13:46:04 +0000 (15:46 +0200)]
Merge pull request #1247 from bjorn3/melt_some_ice
Melt some ICE
bjorn3 [Mon, 25 Jul 2022 13:17:53 +0000 (13:17 +0000)]
Fix -Zpolymorphize
bjorn3 [Mon, 25 Jul 2022 11:35:24 +0000 (11:35 +0000)]
Fix size_of_val and min_align_of_val for truly unsized types
bjorn3 [Mon, 25 Jul 2022 11:18:34 +0000 (11:18 +0000)]
Error when trying to define variadic functions
They aren't yet supported by Cranelift
bors [Sun, 24 Jul 2022 04:03:29 +0000 (04:03 +0000)]
Auto merge of #99251 - cuviper:hashbrown-0.12, r=Mark-Simulacrum
Upgrade indexmap and thorin-dwp to use hashbrown 0.12
This removes the last dependencies on hashbrown 0.11.
This also upgrades to hashbrown 0.12.3 to fix a double-free (#99372).
bjorn3 [Fri, 22 Jul 2022 19:03:06 +0000 (19:03 +0000)]
Report an error on incompatible symbol definitions
bjorn3 [Fri, 22 Jul 2022 18:42:51 +0000 (18:42 +0000)]
Fix inline asm codegen for empty template
bjorn3 [Fri, 22 Jul 2022 18:03:24 +0000 (18:03 +0000)]
Don't crash when local variables are too big to store on the stack
Ralf Jung [Wed, 20 Jul 2022 14:47:49 +0000 (10:47 -0400)]
various nits from review
bjorn3 [Wed, 20 Jul 2022 13:36:58 +0000 (13:36 +0000)]
Implement vtable_size and vtable_align intrinsics for cg_clif
Ralf Jung [Wed, 20 Jul 2022 00:19:15 +0000 (20:19 -0400)]
slightly cleaner, if more verbose, vtable handling in codegen backends
Ralf Jung [Tue, 19 Jul 2022 23:57:44 +0000 (19:57 -0400)]
consistently use VTable over Vtable (matching stable stdlib API RawWakerVTable)
Ralf Jung [Sun, 17 Jul 2022 15:40:34 +0000 (11:40 -0400)]
rename get_global_alloc to try_get_global_alloc
Ralf Jung [Sun, 17 Jul 2022 15:36:37 +0000 (11:36 -0400)]
add a Vtable kind of symbolic allocations
Oli Scherer [Wed, 20 Jul 2022 07:55:58 +0000 (07:55 +0000)]
Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank"
This reverts commit
6f8fb911ad504b77549cf3256a09465621beab9d , reversing
changes made to
7210e46dc69a4b197a313d093fe145722c248b7d .
bjorn3 [Mon, 18 Jul 2022 11:57:22 +0000 (11:57 +0000)]
Update for changes to the rustc test suite
bjorn3 [Mon, 18 Jul 2022 10:59:42 +0000 (12:59 +0200)]
Rustup to rustc 1.64.0-nightly (
263edd43c 2022-07-17)
bjorn3 [Mon, 18 Jul 2022 10:10:52 +0000 (12:10 +0200)]
bors [Sun, 17 Jul 2022 19:28:01 +0000 (19:28 +0000)]
Auto merge of #99033 -
5225225 :interpreter-validity-checks, r=oli-obk
Use constant eval to do strict mem::uninit/zeroed validity checks
I'm not sure about the code organisation here, I just dumped the check in rustc_const_eval at the root. Not hard to move it elsewhere, in any case.
Also, this means cranelift codegen intrinsics lose the strict checks, since they don't seem to depend on rustc_const_eval, and I didn't see a point in keeping around two copies.
I also left comments in the is_zero_valid methods about "uhhh help how do i do this", those apply to both methods equally.
Also rustc_codegen_ssa now depends on rustc_const_eval... is this okay?
Pinging `@RalfJung` since you were the one who mentioned this to me, so I'm assuming you're interested.
Haven't had a chance to run full tests on this since it's really warm, and it's 1AM, I'll check out any failures/comments in the morning :)
Amanieu d'Antras [Sun, 17 Jul 2022 11:23:26 +0000 (13:23 +0200)]
Upgrade hashbrown to 0.12.3
This fixes a double-free in the `clone_from` function if dropping an
existing element in the table panics. See
https://github.com/rust-lang/hashbrown/pull/348 for more details.
Josh Stone [Thu, 14 Jul 2022 17:13:52 +0000 (10:13 -0700)]
Upgrade indexmap and thorin-dwp to use hashbrown 0.12
This removes the last dependencies on hashbrown 0.11.
Oli Scherer [Wed, 22 Jun 2022 15:28:28 +0000 (15:28 +0000)]
Introduce opaque type to hidden type projection
5225225 [Thu, 14 Jul 2022 21:42:47 +0000 (22:42 +0100)]
Use constant eval to do strict validity checks
Joshua Nelson [Wed, 6 Jul 2022 12:44:47 +0000 (07:44 -0500)]
Rename `debugging_opts` to `unstable_opts`
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
bors [Wed, 13 Jul 2022 17:13:27 +0000 (17:13 +0000)]
Auto merge of #99210 - Dylan-DPC:rollup-879cp1t, r=Dylan-DPC
Rollup of 5 pull requests
Successful merges:
- #98574 (Lower let-else in MIR)
- #99011 (`UnsafeCell` blocks niches inside its nested type from being available outside)
- #99030 (diagnostics: error messages when struct literals fail to parse)
- #99155 (Keep unstable target features for asm feature checking)
- #99199 (Refactor: remove an unnecessary `span_to_snippet`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Dylan DPC [Wed, 13 Jul 2022 14:02:36 +0000 (19:32 +0530)]
Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco
Keep unstable target features for asm feature checking
Inline assembly uses the target features to determine which registers
are available on the current target. However it needs to be able to
access unstable target features for this.
Fixes #99071
ouz-a [Mon, 13 Jun 2022 13:37:41 +0000 (16:37 +0300)]
add new rval, pull deref early
Amanieu d'Antras [Mon, 11 Jul 2022 13:26:58 +0000 (14:26 +0100)]
Keep unstable target features for asm feature checking
Inline assembly uses the target features to determine which registers
are available on the current target. However it needs to be able to
access unstable target features for this.
Fixes #99071
Konrad Borowski [Sun, 29 May 2022 16:01:26 +0000 (18:01 +0200)]
Partially stabilize const_slice_from_raw_parts
This doesn't stabilize methods working on mutable pointers.
Ralf Jung [Wed, 6 Jul 2022 14:14:46 +0000 (10:14 -0400)]
tweak names and output and bless
Ralf Jung [Tue, 5 Jul 2022 21:38:46 +0000 (17:38 -0400)]
review feedback
Ralf Jung [Tue, 5 Jul 2022 20:53:48 +0000 (16:53 -0400)]
fix cranelift and gcc backends
Dylan DPC [Sat, 9 Jul 2022 05:58:09 +0000 (11:28 +0530)]
Rollup merge of #99070 - tamird:update-tracking-issue, r=RalfJung
Update integer_atomics tracking issue
Updates #32976.
Updates #99069.
r? ``@RalfJung``
Tamir Duberstein [Fri, 8 Jul 2022 21:52:04 +0000 (17:52 -0400)]
Update integer_atomics tracking issue
Updates #32976.
Updates #99069.
David Wood [Mon, 4 Jul 2022 13:38:42 +0000 (14:38 +0100)]
incr: cache dwarf objects in work products
Cache DWARF objects alongside object files in work products when those
exist so that DWARF object files are available for thorin in packed mode
in incremental scenarios.
Signed-off-by: David Wood <david.wood@huawei.com>
Alan Egerton [Fri, 17 Jun 2022 12:15:00 +0000 (13:15 +0100)]
Update TypeVisitor paths
bors [Tue, 5 Jul 2022 09:36:29 +0000 (09:36 +0000)]
Auto merge of #96862 - oli-obk:enum_cast_mir, r=RalfJung
Change enum->int casts to not go through MIR casts.
follow-up to https://github.com/rust-lang/rust/pull/96814
this simplifies all backends and even gives LLVM more information about the return value of `Rvalue::Discriminant`, enabling optimizations in more cases.
bjorn3 [Sun, 3 Jul 2022 13:41:29 +0000 (13:41 +0000)]
Update for changes to the rustc test suite
bjorn3 [Sun, 3 Jul 2022 13:07:25 +0000 (15:07 +0200)]
Rustup to rustc 1.64.0-nightly (
f2d93935f 2022-07-02)
bjorn3 [Sun, 3 Jul 2022 12:51:45 +0000 (14:51 +0200)]
bjorn3 [Sat, 2 Jul 2022 17:38:23 +0000 (19:38 +0200)]
Add code to print clif ir on panics during define_function
Camille GILLOT [Fri, 4 Feb 2022 22:18:28 +0000 (23:18 +0100)]
Recover when failing to normalize closure signature.
Oli Scherer [Wed, 29 Jun 2022 14:18:55 +0000 (14:18 +0000)]
Change enum->int casts to not go through MIR casts.
Instead we generate a discriminant rvalue and cast the result of that.
bjorn3 [Tue, 28 Jun 2022 14:31:32 +0000 (14:31 +0000)]
Fix a crash for 11 single byte fields passed through the C abi
Fixes #1234
bjorn3 [Tue, 28 Jun 2022 09:55:37 +0000 (11:55 +0200)]
Allow building the sysroot with --emit llvm-ir
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)]