Commit Graph

3396 Commits

Author SHA1 Message Date
bjorn3
273ca2f537 Update action name 2023-03-24 19:22:35 +00:00
bjorn3
608ca6f45b Add license identifiers 2023-03-24 19:22:35 +00:00
bjorn3
6352a405dd Import github-release from bytecodealliance/wasmtime@a002a2cc5e 2023-03-24 19:22:28 +00:00
bjorn3
6bced6e434 Ignore Inlined spans when computing caller location
cc rust-lang/rust#109307
2023-03-24 09:24:17 +00:00
bjorn3
5c9f0073ee Rustup to rustc 1.70.0-nightly (1459b3128 2023-03-23) 2023-03-24 08:38:14 +00:00
bjorn3
d170b6bf80 Sync from rust 1459b3128e 2023-03-24 08:32:31 +00:00
Ben Kimock
8b18860677 A MIR transform that checks pointers are aligned 2023-03-23 18:23:06 -04:00
bors
7ac6cc905e Auto merge of #108442 - scottmcm:mir-transmute, r=oli-obk
Add `CastKind::Transmute` to MIR

~~Nothing actually produces it in this commit, so I don't know how to test it, but it also means it shouldn't be possible for it to break anything.~~

Includes lowering `transmute` calls to it, so it's used.

Zulip Conversation: <https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Good.20first.20isssue/near/321849610>
2023-03-23 18:43:04 +00:00
Scott McMurray
9558e12965 Add CastKind::Transmute to MIR
Updates `interpret`, `codegen_ssa`, and `codegen_cranelift` to consume the new cast instead of the intrinsic.

Includes `CastTransmute` for custom MIR building, to be able to test the extra UB.
2023-03-22 15:15:41 -07:00
bjorn3
ae0a22cb89 Update regex to fix FreeBSD tests
Fixes #1360
2023-03-21 14:52:03 +00:00
bjorn3
76a1cfb0e6 Give an error if any of the wrappers can't find cargo, rustc or rustdoc
Fixes #1364
2023-03-21 13:41:28 +00:00
bjorn3
74e865904c
Merge pull request #1363 from bjorn3/update_cranelift
Update to Cranelift 0.94
2023-03-21 14:36:26 +01:00
bjorn3
b15fd79f43 Update to Cranelift 0.94 2023-03-21 10:23:42 +00:00
Mu42
60aafee963 Remove Ty::is_region_ptr 2023-03-20 15:32:21 +08:00
bjorn3
a040947a9e Remove no longer necessary eliminate_unreachable_code pass
cranelift-frontend now uses iconst.i64 + uextend instead of the invalid
iconst.i128.
2023-03-18 15:29:46 +00:00
bjorn3
b9d7e6f85a Remove outdated fixme 2023-03-18 14:38:59 +00:00
bjorn3
18184d8ecd Format all tests in example/ 2023-03-18 14:27:50 +00:00
bjorn3
53d4428189 Rustup to rustc 1.70.0-nightly (511364e78 2023-03-16) 2023-03-17 12:17:27 +00:00
bjorn3
5cfd41d8b4 Sync from rust 511364e787 2023-03-17 12:12:27 +00:00
Tomasz Miąsko
edb0717e7c Tweak implementation of overflow checking assertions
Extract and reuse logic controlling behaviour of overflow checking
assertions instead of duplicating it three times.
2023-03-16 22:55:45 +01:00
bors
e42bea9fde Auto merge of #108282 - cjgillot:mir-checked-sh, r=tmiasko
Implement checked Shl/Shr at MIR building.

This does not require any special handling by codegen backends,
as the overflow behaviour is entirely determined by the rhs (shift amount).

This allows MIR ConstProp to remove the overflow check for constant shifts.

~There is an existing different behaviour between cg_llvm and cg_clif (cc `@bjorn3).`
I took cg_llvm's one as reference: overflow if `rhs < 0 || rhs > number_of_bits_in_lhs_ty`.~

EDIT: `cg_llvm` and `cg_clif` implement the overflow check differently. This PR uses `cg_llvm`'s implementation based on a `BitAnd` instead of `cg_clif`'s one based on an unsigned comparison.
2023-03-15 21:31:06 +00:00
bjorn3
b1cf90c4dc Sparse registry is now the default on nightly 2023-03-15 15:20:20 +00:00
bjorn3
bc6ee857d6 Merge branch 'sync_from_rust' 2023-03-15 14:43:55 +00:00
bjorn3
7b3bd56ed9 Merge commit 'dec0daa8f6d0a0e1c702f169abb6bf3eee198c67' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
bjorn3
dec0daa8f6 Rustup to rustc 1.70.0-nightly (171693274 2023-03-14) 2023-03-15 14:33:54 +00:00
bjorn3
fed9534323 Sync from rust 1716932743 2023-03-15 14:28:47 +00:00
bjorn3
6f6007156b Introduce Box::new in mini_core 2023-03-15 14:26:03 +00:00
bjorn3
b42358a23f Use patched git-subtree from bjorn3/git@tqc-subtree-portable
This patched has been necessary for subtree syncs from the start, but
previously it was necessary to locally install tqc's patched git
version, which hasn't been updated for quite a while. I made a small
change to allow downloading it as script without requiring an entire git
installation for the patched version.
2023-03-15 14:20:18 +00:00
bjorn3
db6fb616b9 Rustup to rustc 1.70.0-nightly (7b4f48927 2023-03-12) 2023-03-13 12:23:45 +01:00
bjorn3
02af3e383b Sync from rust 7b4f48927d 2023-03-13 12:11:06 +01:00
clubby789
2c122a8926 Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
bors
7e23d77cac Auto merge of #109001 - matthiaskrgr:rollup-a3agnwp, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #105798 (Relax ordering rules for `asm!` operands)
 - #105962 (Stabilize path_as_mut_os_str)
 - #106085 (use problem matchers for tidy CI)
 - #107711 (Stabilize movbe target feature)
 - #108017 (Add `--no-undefined-version` link flag and fix associated breakage)
 - #108891 (Remove an extraneous include)
 - #108902 (no more do while :<)
 - #108912 (Document tool lints)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-11 07:28:44 +00:00
bors
be445e1ab2 Auto merge of #104527 - ferrocene:pa-more-licenses, r=pnkfelix
Add more license annotations

This PR updates the `.reuse/dep5` file to include more accurate licensing data for everything in the repository (*excluding* submodules and dependencies). Some decisions were made in this PR:

* The standard copyright attribution for files maintained by us is "The Rust Project Developers (see https://thanks.rust-lang.org)", to avoid having to maintain an in-tree `AUTHORS` file.
* For files that have specific licensing terms, we added the terms to the `.reuse/dep5` rather than adding SPDX comments in the files themselves.
* REUSE picks up any comment/text line with `Copyright` on it, so I had to sprinkle around `REUSE-IgnoreStart` and `REUSE-IgnoreEnd` comments.

The rendered `COPYRIGHT` file is available at https://gist.github.com/pietroalbini/efb81103f69596d39758114f3f6a8688.

r? `@pnkfelix`
2023-03-11 01:17:23 +00:00
Matthias Krüger
b23a3a36ed Rollup merge of #108017 - chbaker0:fix-105967, r=chbaker0
Add `--no-undefined-version` link flag and fix associated breakage

LLVM upstream sets `--no-undefined-version` by default in lld: https://reviews.llvm.org/D135402.

Due to a bug in how version scripts are generated, this breaks the `dylib` output type for most crates. See https://github.com/rust-lang/rust/issues/105967#issuecomment-1428671533 for details.

This PR adds the flag to gcc flavor linkers in anticipation of this LLVM change rolling in, and patches `rustc` to not attempt to export `__rust_*` allocator symbols when they weren't generated.

Fixes #105967
2023-03-10 21:15:45 +01:00
bjorn3
0b9e8c65d5 Fix rustc test suite 2023-03-10 13:44:34 +00:00
bjorn3
e781db8d44 Rustup to rustc 1.70.0-nightly (39f2657d1 2023-03-09) 2023-03-10 14:12:47 +01:00
bjorn3
81f9dc2c0f Sync from rust 39f2657d11 2023-03-10 13:57:16 +01:00
Collin Baker
f2c81bb1c0 Don't export of __rust_* alloc symbols if not codegened 2023-03-09 19:21:44 -05:00
Camille GILLOT
82e675061c Introduce a no-op PlaceMention statement for let _ =. 2023-03-09 17:45:13 +00:00
Pietro Albini
0738ffe419 replace legacy copyright annotations in submodules 2023-03-09 12:24:47 +01:00
Matthias Krüger
2ad8e1fb51 Rollup merge of #108856 - Zeegomo:remove-drop-and-rep, r=tmiasko
Remove DropAndReplace terminator

#107844 made DropAndReplace unused, let's remove it completely from the codebase.
2023-03-08 21:26:51 +01:00
bjorn3
22237ed225 Update Cranelift to 0.93.1
This fixes a potential miscompilation
2023-03-08 20:56:50 +01:00
Giacomo Pasini
bd84d88cd1 Remove DropAndReplace terminator
PR 107844 made DropAndReplace unused, let's remove it completely
from the codebase.
2023-03-07 14:25:22 +01:00
bors
792933c8d7 Auto merge of #95317 - Jules-Bertholet:round_ties_to_even, r=pnkfelix,m-ou-se,scottmcm
Add `round_ties_even` to `f32` and `f64`

Tracking issue: #96710

Redux of #82273. See also #55107

Adds a new method, `round_ties_even`, to `f32` and `f64`, that rounds the float to the nearest integer , rounding halfway cases to the number with an even least significant bit. Uses the `roundeven` LLVM intrinsic to do this.

Of the five IEEE 754 rounding modes, this is the only one that doesn't already have a round-to-integer function exposed by Rust (others are `round`, `floor`, `ceil`, and `trunc`).  Ties-to-even is also the rounding mode used for int-to-float and float-to-float `as` casts, as well as float arithmentic operations. So not having an explicit rounding method for it seems like an oversight.

Bikeshed: this PR currently uses `round_ties_even` for the name of the method. But maybe `round_ties_to_even` is better, or `round_even`, or `round_to_even`?
2023-03-07 09:43:12 +00:00
bjorn3
1ed6b05145 Remove copy_nonoverlapping intrinsic definition
It has been getting lowered to a dedicated MIR statement for a while
2023-03-05 19:50:21 +00:00
bjorn3
906b00e111 Fix rustc test suite 2023-03-04 12:59:27 +00:00
bjorn3
4be2be2245 Rustfmt 2023-03-04 12:48:34 +01:00
bjorn3
7bf863653b Rustup to rustc 1.69.0-nightly (44cfafe2f 2023-03-03) 2023-03-04 12:46:45 +01:00
bjorn3
cceea847dd Sync from rust 44cfafe2fa 2023-03-04 12:36:27 +01:00
bjorn3
162365e3d6 Fix loading of dylibs not in the search path in jit mode
Reported in #1249
2023-02-28 14:36:44 +00:00