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