Commit Graph

3023 Commits

Author SHA1 Message Date
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
bjorn3 266e96785a Revert "Update to Cranelift 0.89.0"
It added a lot of extra dependencies. I opened bytecodealliance/wasmtime#5101
to remove those dependencies again.

This reverts commit da770abea3.
2022-10-23 16:16:58 +02:00
bjorn3 b930e2d722 Revert "Stop using a depracated function"
This reverts commit b1791eef6a.
2022-10-23 16:16:58 +02:00
bjorn3 342bac9807 Fix drop for dyn* 2022-10-23 15:09:28 +02:00
bjorn3 2470ad30e6 Allow dyn* upcasting 2022-10-23 15:09:11 +02:00
bjorn3 7a9abf5ab2 Update rustc test suite failure list 2022-10-23 14:14:35 +02:00
bjorn3 63e3df3d32 Rustup to rustc 1.66.0-nightly (6e95b6da8 2022-10-22) 2022-10-23 13:50:51 +02:00
bjorn3 57984be8ea Sync from rust e64f1110c0 2022-10-23 13:44:16 +02:00
bjorn3 b1791eef6a Stop using a depracated function 2022-10-21 10:58:33 +00:00
bjorn3 da770abea3 Update to Cranelift 0.89.0 2022-10-21 10:55:20 +00:00
Ralf Jung 1e720cdb46 merge rustc history 2022-10-21 10:18:54 +02:00
Rageking8 54ee5ac073 more dupe word typos 2022-10-14 12:57:56 +08:00