Commit Graph

3057 Commits

Author SHA1 Message Date
bjorn3
04eaaa043d Fix crash with TAIT in the call codegen code
The new logic is closer to what cg_llvm does.

Fixes #1240
2022-12-02 12:44:14 +00:00
bjorn3
f73b0b1349
Merge pull request #1302 from bjorn3/build_system_rework4
Allow specifying where build artifacts should be written to
2022-12-01 21:03:01 +01:00
bjorn3
b6ac5a3ceb Allow specifying where build artifacts should be written to 2022-12-01 19:00:32 +00:00
bjorn3
702a293776 Fix build dir caching 2022-12-01 19:00:32 +00:00
bjorn3
d7b02c307d Fix installing hyperfine 2022-12-01 19:00:32 +00:00
bjorn3
82b2d8e418 Introduce Dirs type to avoid hard coding src and dest locations 2022-12-01 19:00:32 +00:00
bjorn3
4529979330 Introduce RelPath 2022-12-01 19:00:32 +00:00
bjorn3
e75dfef4d4 Put all temporary build artifacts in build/ 2022-12-01 19:00:32 +00:00
bjorn3
5e97a3951d Make sure the target dir is always explicitly set when using cargo 2022-12-01 19:00:32 +00:00
bjorn3
450257c4c6
Merge pull request #1295 from bjorn3/update_cranelift
Update Cranelift to 0.90.0
2022-12-01 19:59:17 +01:00
bjorn3
a54a3775c9 Update Cranelift to 0.90.1
This fixes building on FreeBSD
2022-12-01 17:46:48 +00:00
bjorn3
202bdc1ceb Update Cranelift to 0.90.0 2022-12-01 17:45:59 +00:00
bjorn3
155f569794 Update cranelift to the upcoming release-3.0.0 branch 2022-12-01 17:45:59 +00:00
bjorn3
3df425e11e bswap.i128 is now supported 2022-12-01 17:45:59 +00:00
bjorn3
83dc7d1a12 Fix for removal of raw_bitcast 2022-12-01 17:45:59 +00:00
bjorn3
ae98a2f570 Simplify some code based on newly implemented instructions 2022-12-01 17:45:59 +00:00
bjorn3
e9115eb647 Use git version of Cranelift 2022-12-01 17:45:59 +00:00
bjorn3
777106a581 Fix warning 2022-12-01 17:45:59 +00:00
bjorn3
16a2641444 Remove all usages of iconst.i128
Support was removed from Cranelift
2022-12-01 17:45:59 +00:00
bjorn3
6768d0dd72 Booleans have been removed from Cranelift 2022-12-01 17:45:59 +00:00
bjorn3
3cf8994780 Ignore out-of-stack test
cc #1301
2022-12-01 15:40:52 +01:00
bjorn3
70ba23b109
Merge pull request #1300 from bjorn3/rename_build_to_dist
Rename the build/ directory to dist/
2022-11-29 12:20:09 +01:00
bjorn3
9c21990283 Rename target_dir to dist_dir in a couple of places 2022-11-28 15:02:08 +00:00
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