Commit Graph

3034 Commits

Author SHA1 Message Date
bjorn3 052d5ccf5d Implement __isb for AArch64
This is necessary for the mutex implementation of libstd when there is
contention. Seems like I hadn't hit this before by sheer luck.
2022-11-28 13:03:47 +00:00
bjorn3 26d48c9a37 Rename the build/ directory to dist/
This will allow putting all temporary build artifacts in build/ in the
future, keeping all the build output artifacts in dist/
2022-11-28 13:01:49 +00:00
bjorn3 a00c7a01da Merge pull request #1298 from bjorn3/build_system_rework3
Introduce CargoProject type and use it where possible
2022-11-27 20:30:47 +01:00
bjorn3 f99140eb94 Merge pull request #1297 from bjorn3/aarch64_simd
Implement some AArch64 SIMD intrinsics
2022-11-27 20:30:24 +01:00
bjorn3 cdae9bab58 Introduce CargoProject type and use it where possible 2022-11-27 18:53:00 +00:00
bjorn3 f851dfacfe Rustfmt 2022-11-27 18:34:07 +00:00
bjorn3 75838d9e8b Implement more llvm simd intrinsics for AArch64 2022-11-27 18:32:29 +00:00
bjorn3 1367983198 Begin implementing llvm simd intrinsics for aarch64 2022-11-27 18:09:57 +00:00
bjorn3 ef6400d6be Split x86 specific intrinsics into intrinsics/llvm_x86.rs 2022-11-27 17:17:47 +00:00
bjorn3 24ebf425ae Update rustc test suite failure list 2022-11-22 19:29:06 +00:00
bjorn3 d30c1ddce7 Rustup to rustc 1.67.0-nightly (b7bc90fea 2022-11-21) 2022-11-22 19:29:36 +01:00
bjorn3 d23eb65ea0 Sync from rust 66ccf36f16 2022-11-22 19:21:05 +01:00
bjorn3 a449d0d143 Rustfmt 2022-11-21 17:00:28 +00:00
bjorn3 cf923724cc Fix discriminant handling 2022-11-21 16:29:09 +00:00
Matthias Krüger d3817e2339 Rollup merge of #104605 - RalfJung:clf_consts, r=bjorn3
deduplicate constant evaluation in cranelift backend

The cranelift backend had two matches on `ConstantKind`, which can be avoided, and used this `eval_for_mir` that nothing else uses... this makes things more consistent with the (better-tested) LLVM backend.

I noticed this because cranelift was the only user of `eval_for_mir`. However `try_eval_for_mir` still has one other user in `eval`... the odd thing is that the interpreter has its own `eval_mir_constant` which seems to duplicate the same functionality and does not use `try_eval_for_mir`. No idea what is happening here.

r? ``@bjorn3``
Cc ``@lcnr``
2022-11-21 14:11:12 +01:00
bjorn3 9723c79af7 Fix running rustc tests 2022-11-20 19:32:44 +00:00
bjorn3 be1006be50 Rustup to rustc 1.67.0-nightly (c5d82ed7a 2022-11-19) 2022-11-20 16:26:37 +01:00
bjorn3 d6b54a5433 Sync from rust 5e6de2369c 2022-11-19 15:23:58 +01:00
Ralf Jung a3c89a7ade deduplicate constant evaluation in cranelift backend
also sync LLVM and cranelift structure a bit
2022-11-19 14:08:12 +01:00
Dylan DPC 5fd3e4dabb Rollup merge of #104001 - Ayush1325:custom-entry, r=bjorn3
Improve generating Custom entry function

This commit is aimed at making compiler-generated entry functions (Basically just C `main` right now) more generic so other targets can do similar things for custom entry. This was initially implemented as part of https://github.com/rust-lang/rust/pull/100316.

Currently, this moves the entry function name and Call convention to the target spec.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-19 11:54:43 +05:30
Ayush Singh 6ee9712cd4 Use custom entry name in cranelift
This is a continuation of 9f0a8620bd for
cranelift.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-17 15:28:47 +05:30
Ralf Jung 2d0c41a9a3 cleanup and dedupe CTFE and Miri error reporting 2022-11-16 10:13:29 +01:00
bors 03e3cc5b77 Auto merge of #104054 - RalfJung:byte-provenance, r=oli-obk
interpret: support for per-byte provenance

Also factors the provenance map into its own module.

The third commit does the same for the init mask. I can move it in a separate PR if you prefer.

Fixes https://github.com/rust-lang/miri/issues/2181

r? `@oli-obk`
2022-11-15 17:37:15 +00:00
Ralf Jung f5caaea98a add is_sized method on Abi and Layout, and use it 2022-11-13 12:23:53 +01:00
bjorn3 d1e499aa2d Rustup to rustc 1.67.0-nightly (e75aab045 2022-11-09) 2022-11-10 12:30:30 +01:00
Joshua Nelson ade426fa83 Fix rustdoc --version when used with download-rustc
Previously, rustdoc would unconditionally report the version that *rustc* was compiled with.
That showed things like `nightly-2022-10-30`, which wasn't right, since this was a `dev` build compiled from source.

Fix it by changing `rustc_driver::version` to a macro expanded at invocation time.
2022-11-09 02:54:51 -06:00
Ralf Jung b5523e3e7a fix cranelift and gcc 2022-11-06 14:17:10 +01:00
Mateusz Mikuła 0b37af8c61 Update target-lexicon to fix new targets parsing (#1293) 2022-11-05 13:24:46 +01:00
bjorn3 7941cba900 Remove some commented out code 2022-11-03 13:48:16 +00:00
bjorn3 449f95b7a5 Update rustc test suite failure list 2022-11-03 11:55:06 +00:00
bjorn3 051b6dd25f Rustup to rustc 1.67.0-nightly (edf018221 2022-11-02) 2022-11-03 12:28:48 +01:00
bjorn3 736fac8ab9 Sync from rust 432b1a4277 2022-11-03 12:09:35 +01:00
Amanieu d'Antras b166ad0b1e Rewrite implementation of #[alloc_error_handler]
The new implementation doesn't use weak lang items and instead changes
`#[alloc_error_handler]` to an attribute macro just like
`#[global_allocator]`.

The attribute will generate the `__rg_oom` function which is called by
the compiler-generated `__rust_alloc_error_handler`. If no `__rg_oom`
function is defined in any crate then the compiler shim will call
`__rdl_oom` in the alloc crate which will simply panic.

This also fixes link errors with `-C link-dead-code` with
`default_alloc_error_handler`: `__rg_oom` was previously defined in the
alloc crate and would attempt to reference the `oom` lang item, even if
it didn't exist. This worked as long as `__rg_oom` was excluded from
linking since it was not called.

This is a prerequisite for the stabilization of
`default_alloc_error_handler` (#102318).
2022-10-31 16:32:57 +00:00
bjorn3 777d4732dc Fix transmuting from vector type to ScalarPair type
Fixes #1292
2022-10-29 13:47:10 +00:00
bjorn3 c57aacf3dd Update GHA actions for Node.js 12 deprecation 2022-10-28 14:20:27 +00:00
bjorn3 e0ba71e39a Ignore rustfmt for y.rs 2022-10-28 13:21:27 +00:00
bjorn3 f17dbfc933 Add rustdoc-clif wrapper 2022-10-28 12:51:15 +00:00
bjorn3 ddc66ffecc Make rust-analyzer run flycheck on the build system 2022-10-28 12:48:51 +00:00
bjorn3 bd8be325ab Better rust-analyzer.linkedProjects value 2022-10-28 09:54:17 +00:00
bjorn3 a24213d81b Use 2021 edition for y.rs 2022-10-28 09:54:05 +00:00
bjorn3 5513583f3f Stop using a deprecated function 2022-10-27 14:49:24 +00:00
bjorn3 d3fe9a8baa Update to Cranelift 0.89.1
This removes the rayon dependency that requires the previous update to
Cranelift 0.89.0 to be reverted.
2022-10-27 14:48:52 +00:00
Maybe Waffle 33a92bc8b0 Update tooling 2022-10-27 18:41:26 +04:00
bjorn3 43d3e9261f Check build system formatting on CI 2022-10-26 13:35:18 +00:00
bors 5e1872598c Auto merge of #103392 - RalfJung:miri, r=oli-obk
update Miri

I had to use a hacked version of josh to create this, so let's be careful with merging this and maybe wait a bit to see if the josh issue becomes more clear. But the history looks good to me, we are not adding duplicates of rustc commits that were previously mirrored to Miri.

Also I want to add some cross-testing of Miri in x.py.
2022-10-25 12:33:39 +00:00
Daniel Paoliello e3311e4717 Support raw-dylib functions being used inside inlined functions 2022-10-24 16:17:38 -07:00
bjorn3 b345c1e25a Sync from rust 1481fd964b 2022-10-24 15:46:38 +02:00
bjorn3 63d1bf9920 Rustfmt cg_clif's build system 2022-10-23 16:43:48 +02:00
bjorn3 4029785c67 Merge branch 'sync_from_rust' 2022-10-23 16:24:46 +02:00
bjorn3 9950bd1dc5 Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23 2022-10-23 16:22:55 +02:00