]>
git.lizzy.rs Git - rust.git/log
bjorn3 [Fri, 12 Aug 2022 19:10:16 +0000 (19:10 +0000)]
Move copy to incr comp cache to codegen join phase
The copy depends on Session, which is only available on the main thread.
As such the copy can't be done on future codegen threads.
bjorn3 [Fri, 12 Aug 2022 18:55:39 +0000 (18:55 +0000)]
Stream object file to disk
This reduces memory usage and may improve performance slightly.
bjorn3 [Fri, 12 Aug 2022 18:40:48 +0000 (18:40 +0000)]
Move build_isa call into make_module
bjorn3 [Fri, 12 Aug 2022 13:15:51 +0000 (13:15 +0000)]
Don't attempt to do incr comp for the allocator shim
The allocator shim doesn't get reused and the allocator shim is just
under 2kb, so reusing it is likely more expensive than regenerating it.
bjorn3 [Fri, 12 Aug 2022 13:03:18 +0000 (13:03 +0000)]
Give fields of ModuleCodegenResult names
bjorn3 [Fri, 12 Aug 2022 12:30:24 +0000 (12:30 +0000)]
Enable inline asm on macOS
bjorn3 [Fri, 12 Aug 2022 12:27:47 +0000 (12:27 +0000)]
Remove the partial linking hack for global asm support
bjorn3 [Fri, 12 Aug 2022 09:55:59 +0000 (09:55 +0000)]
Don't take TyCtxt as argument for compile_global_asm
This allows it to be executed on a background thread.
bjorn3 [Fri, 12 Aug 2022 09:28:41 +0000 (09:28 +0000)]
Move some sess.fatal calls out of compile_global_asm
bjorn3 [Fri, 12 Aug 2022 09:11:47 +0000 (09:11 +0000)]
Extract global_asm module
bjorn3 [Thu, 11 Aug 2022 13:49:08 +0000 (13:49 +0000)]
Introduce OngoingCodegen type
bjorn3 [Thu, 11 Aug 2022 13:38:07 +0000 (13:38 +0000)]
Return ModuleCodegenResult from reuse_workproduct_for_cgu
bjorn3 [Wed, 10 Aug 2022 18:47:05 +0000 (18:47 +0000)]
Move cached_context out of CodegenCx
bjorn3 [Wed, 10 Aug 2022 18:29:46 +0000 (18:29 +0000)]
Split non-compile parts of codegen_fn out into a separate function
The new codegen_and_compile_fn function only calls codegen_fn and then
compile_fn. This makes it possible for both parts to be called
separately by the driver.
bjorn3 [Wed, 10 Aug 2022 15:06:17 +0000 (15:06 +0000)]
Move some code into codegen_fn_content
bjorn3 [Tue, 9 Aug 2022 12:27:34 +0000 (12:27 +0000)]
Remove most trap functions and remove all trapnz usages
bjorn3 [Mon, 8 Aug 2022 16:30:01 +0000 (18:30 +0200)]
Rustup to rustc 1.65.0-nightly (
d394408fb 2022-08-07)
bjorn3 [Mon, 8 Aug 2022 15:01:38 +0000 (17:01 +0200)]
bjorn3 [Fri, 5 Aug 2022 13:17:13 +0000 (13:17 +0000)]
Fix previous commit
bjorn3 [Fri, 5 Aug 2022 12:57:19 +0000 (12:57 +0000)]
Disable incr comp globally on CI
bjorn3 [Fri, 5 Aug 2022 12:13:57 +0000 (12:13 +0000)]
Re-introduce test.sh as convenience wrapper around ./y.rs test
bjorn3 [Fri, 5 Aug 2022 12:13:36 +0000 (12:13 +0000)]
Update dependencies
bjorn3 [Thu, 4 Aug 2022 16:48:09 +0000 (18:48 +0200)]
Merge pull request #1254 from afonso360/float-intrinsics-fix
Use native cranelift instructions when lowering float intrinsics
Afonso Bordado [Tue, 2 Aug 2022 07:08:45 +0000 (08:08 +0100)]
Use native cranelift instructions when lowering float intrinsics
bjorn3 [Mon, 1 Aug 2022 20:15:02 +0000 (22:15 +0200)]
Merge pull request #1253 from afonso360/msvc-nosysroot
Fix `no_sysroot` testsuite for MSVC environments
Afonso Bordado [Mon, 1 Aug 2022 18:41:08 +0000 (19:41 +0100)]
Misc Cleanups
Afonso Bordado [Mon, 1 Aug 2022 10:38:56 +0000 (11:38 +0100)]
Add windows support to mini_core tests
Afonso Bordado [Mon, 1 Aug 2022 08:57:43 +0000 (09:57 +0100)]
Fix mini_core printf linking on windows
Link against legacy_stdio_definitions on windows which provides printf as a linkable symbol.
Afonso Bordado [Mon, 1 Aug 2022 08:49:54 +0000 (09:49 +0100)]
Disable JIT on windows
bjorn3 [Sun, 31 Jul 2022 10:22:22 +0000 (12:22 +0200)]
Merge pull request #1252 from afonso360/tests-rs
Move test script to y.rs
bjorn3 [Sun, 31 Jul 2022 10:15:56 +0000 (10:15 +0000)]
Rustfmt
Afonso Bordado [Sat, 30 Jul 2022 22:07:03 +0000 (23:07 +0100)]
Don't pass RUSTFLAGS to rustc in tests
Afonso Bordado [Sat, 30 Jul 2022 22:04:59 +0000 (23:04 +0100)]
Assume host target in get_file_name
Afonso Bordado [Sat, 30 Jul 2022 21:58:34 +0000 (22:58 +0100)]
Don't run tests on Windows CI
Afonso Bordado [Sat, 30 Jul 2022 21:32:06 +0000 (22:32 +0100)]
Cleanup meaningless changes
Afonso Bordado [Sat, 30 Jul 2022 21:05:39 +0000 (22:05 +0100)]
Compare lines iterator instead of full output
This avoids differences in line endings.
Afonso Bordado [Sat, 30 Jul 2022 20:08:59 +0000 (21:08 +0100)]
Log cloned regex output
Afonso Bordado [Sat, 30 Jul 2022 20:08:21 +0000 (21:08 +0100)]
Split flags whitespace
This is probably the wrong way to do this...
Afonso Bordado [Sat, 30 Jul 2022 16:16:10 +0000 (17:16 +0100)]
Fix some cross compilation scenarios in test runner
Afonso Bordado [Sat, 30 Jul 2022 19:24:04 +0000 (20:24 +0100)]
Fix aarch64 cross compilation
Afonso Bordado [Sat, 30 Jul 2022 15:35:35 +0000 (16:35 +0100)]
Fix test.regex test
Afonso Bordado [Sat, 30 Jul 2022 14:40:44 +0000 (15:40 +0100)]
Use Windows Env vars in CI
Afonso Bordado [Sat, 30 Jul 2022 13:07:02 +0000 (14:07 +0100)]
Use get_file_name in tests
Afonso Bordado [Sat, 30 Jul 2022 12:06:37 +0000 (13:06 +0100)]
Use get_file_name everywhere for better cross compilation support
Afonso Bordado [Sat, 30 Jul 2022 11:50:05 +0000 (12:50 +0100)]
Misc cleanups to the test runner
Afonso Bordado [Sat, 30 Jul 2022 11:48:46 +0000 (12:48 +0100)]
Run tests on windows CI
Afonso Bordado [Sat, 30 Jul 2022 09:32:54 +0000 (10:32 +0100)]
Move test.sh to y.rs test
Afonso Bordado [Fri, 29 Jul 2022 07:39:18 +0000 (08:39 +0100)]
Add Windows build artifacts to .gitignore
Afonso Bordado [Thu, 28 Jul 2022 19:08:05 +0000 (20:08 +0100)]
Update to cranelift 0.86 (#1250)
bjorn3 [Thu, 28 Jul 2022 09:07:49 +0000 (09:07 +0000)]
Introduce an ArchiveBuilderBuilder
This avoids monomorphizing all linker code for each codegen backend and
will allow passing in extra information to the archive builder from the
codegen backend.
bjorn3 [Thu, 28 Jul 2022 08:43:15 +0000 (08:43 +0000)]
Inline inject_dll_import_lib
bjorn3 [Thu, 28 Jul 2022 08:39:19 +0000 (08:39 +0000)]
Move output argument from ArchiveBuilder::new to .build()
bjorn3 [Wed, 27 Jul 2022 15:41:41 +0000 (17:41 +0200)]
Rustup to rustc 1.64.0-nightly (
4d6d601c8 2022-07-26)
bjorn3 [Tue, 26 Jul 2022 16:54:54 +0000 (18:54 +0200)]
Merge branch 'sync_from_rust'
bjorn3 [Tue, 26 Jul 2022 16:53:46 +0000 (18:53 +0200)]
Merge commit '
d3a2366ee877075c59b38bd8ced55f224fc7ef51 ' into sync_cg_clif-2022-07-26
bjorn3 [Tue, 26 Jul 2022 16:27:14 +0000 (16:27 +0000)]
Implement some more llvm float compare intrinsic options
bjorn3 [Tue, 26 Jul 2022 16:26:35 +0000 (16:26 +0000)]
Outline a bug! invocation
This reduces the amount of llvm ir lines for intrinsic related code from
23801 to 20478.
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.
bors [Tue, 26 Jul 2022 04:28:41 +0000 (04:28 +0000)]
Auto merge of #99745 - JohnTitor:rollup-lvrie64, r=JohnTitor
Rollup of 7 pull requests
Successful merges:
- #98211 (Implement `fs::get_path` for FreeBSD.)
- #99353 (Slightly improve mismatched GAT where clause error)
- #99593 (Suggest removing the tuple struct field for the unwrapped value)
- #99615 (Remove some explicit `self.infcx` for `FnCtxt`, which already derefs into `InferCtxt`)
- #99711 (Remove reachable coverage without counters)
- #99718 (Avoid `&str`/`Symbol` to `String` conversions)
- #99720 (Sync rustc_codegen_cranelift)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
bors [Tue, 26 Jul 2022 01:47:34 +0000 (01:47 +0000)]
Auto merge of #98989 - dpaoliello:rawdylibbin, r=michaelwoerister
Enable raw-dylib for bin crates
Fixes #93842
When `raw-dylib` is used in a `bin` crate, we need to collect all of the `raw-dylib` functions, generate the import library and add that to the linker command line.
I also changed the tests so that 1) the C++ dlls are created after the Rust dlls, thus there is no chance of accidentally using them in the Rust linking process and 2) disabled generating import libraries when building with MSVC.
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
Daniel Paoliello [Fri, 1 Jul 2022 20:01:41 +0000 (13:01 -0700)]
Enable raw-dylib for binaries
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``