Commit Graph

1938 Commits

Author SHA1 Message Date
bjorn3
4eb6754749 Sync from rust 3e826bb112 2021-02-21 17:02:04 +01:00
bjorn3
ecba16f296 Various enum to int cast fixes 2021-02-21 16:52:42 +01:00
bjorn3
7fc34839ac Revert "Remove shift amount masking"
This reverts commit c5f98b586f.

It turns out to be necessary anyway
2021-02-21 16:51:40 +01:00
bjorn3
0610490c8d Assume constants can't fail to evaluate
See rust-lang/rust#81327 for the same change to cg_llvm
2021-02-21 13:58:56 +01:00
bjorn3
74f39b64c8 Avoid a temporary stackslot in codegen_checked_int_binop 2021-02-21 12:48:43 +01:00
bjorn3
b0f870edd6 Fix CI 2021-02-21 12:34:30 +01:00
bjorn3
ee36a1fbb1 Remove workaround for stack_{load,store}.i128 not being implemented 2021-02-21 12:18:43 +01:00
bjorn3
9c980276d8 Directly use Cranelift instructions for 128bit int shifts 2021-02-21 12:09:13 +01:00
bjorn3
c5f98b586f Remove shift amount masking
Unlike the old x75 backend, the new x64 backend masks the shift amount
itself, matching the specified semantics.
2021-02-21 12:03:02 +01:00
bjorn3
4f45ea73ef Re-enable some now compiling libcore tests
cc #806
2021-02-21 11:18:01 +01:00
bjorn3
93373e13f0 Don't build alloc_system as part of the sysroot 2021-02-21 10:56:25 +01:00
bjorn3
b36fd9d82b Remove unnecessary parts from alloc_system 2021-02-21 10:49:55 +01:00
bjorn3
a8f3877c36 Don't write clif ir by default when debug assertions are enabled 2021-02-21 10:42:31 +01:00
bjorn3
25f7eeec46 Don't import the metadata symbol
Helps with #1134
2021-02-21 10:40:30 +01:00
bjorn3
4cfb885da7
Merge pull request #1140 from bjorn3/no_more_oldbe
Remove support for the old x86 Cranelift backend
2021-02-21 10:13:37 +01:00
bjorn3
92c1b858ef Disable stack2reg optimization
It causes a miscompilation of lewton

Fixes #1142
2021-02-20 16:55:30 +01:00
Camille GILLOT
702676bfff Use a QueryContext for try_mark_green. 2021-02-19 17:51:56 +01:00
bjorn3
537db9a1ef Disable 128bit atomic operations on macOS 2021-02-18 18:46:22 +01:00
bjorn3
f2f5452089 Use real atomic instructions instead of a global lock 2021-02-18 18:14:21 +01:00
bjorn3
92f765fce9 Remove support for x86 oldBE 2021-02-18 18:07:25 +01:00
bjorn3
c39cb46da7 Update Cranelift 2021-02-18 18:07:25 +01:00
Camille GILLOT
fe8d11bb99 Use an ItemId inside mir::GlobalAsm. 2021-02-15 19:24:58 +01:00
bjorn3
1337f96c48
Merge pull request #1138 from bjorn3/cirrus_ci
Test FreeBSD on CI
2021-02-14 18:58:07 +01:00
bjorn3
47bc1db236 Test FreeBSD on Cirrus CI 2021-02-14 18:13:06 +01:00
bjorn3
87ecdaa848 Recognize FreeBSD as OS 2021-02-14 18:13:06 +01:00
bjorn3
9be3936e95 Use #!/usr/bin/env bash
FreeBSD doesn't have /bin/bash
2021-02-14 18:12:51 +01:00
bjorn3
658d12408b Rustfmt 2021-02-12 15:40:08 +00:00
bjorn3
94aac0af59 Pass around BackendConfig 2021-02-12 15:39:58 +00:00
bjorn3
c5dff34ae9 Revert "Update libc and libloading"
This reverts commit bfcf97bd83.

It causes a "can't resolve symbol" crash on macOS
2021-02-09 13:19:19 +01:00
bjorn3
bfcf97bd83 Update libc and libloading 2021-02-09 12:40:43 +01:00
bjorn3
6fe5eace3c Update Cranelift 2021-02-09 12:34:13 +01:00
bjorn3
176965f517 Rustup to rustc 1.52.0-nightly (0fc6756b4 2021-02-08) 2021-02-09 12:30:06 +01:00
bjorn3
f36c14f0a6 Sync from rust f4008fe949 2021-02-09 12:21:17 +01:00
bjorn3
decb9b2880 Rustfmt 2021-02-03 12:21:22 +01:00
bjorn3
2d3603ff29 Update dependencies 2021-02-03 11:55:17 +01:00
bjorn3
0f861e1035 Update Cranelift 2021-02-03 11:53:23 +01:00
Hugues de Valon
5bdc56c00c Add a new ABI to support cmse_nonsecure_call
This commit adds a new ABI to be selected via `extern
"C-cmse-nonsecure-call"` on function pointers in order for the compiler to
apply the corresponding cmse_nonsecure_call callsite attribute.
For Armv8-M targets supporting TrustZone-M, this will perform a
non-secure function call by saving, clearing and calling a non-secure
function pointer using the BLXNS instruction.

See the page on the unstable book for details.

Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2021-02-02 13:04:31 +00:00
bjorn3
54523b8ea8 Fix rustc bootstrap test 2021-02-02 10:39:23 +01:00
bjorn3
e4ae9ef3b0 Rustup to rustc 1.51.0-nightly (d4e3570db 2021-02-01) 2021-02-02 10:24:29 +01:00
bjorn3
d1df92e2e3 Sync from rust d60b29d1ae 2021-02-02 10:18:16 +01:00
Jonas Schievink
02e1fd48d1 Rollup merge of #81618 - bjorn3:sync_cg_clif-2021-02-01, r=bjorn3
Sync rustc_codegen_cranelift

The highlight of this sync are abi compatibility with cg_llvm allowing mixing of cg_clif and cg_llvm compiled crates and switching to the x64 cranelift backend based on the new backend framework.

r? ``@ghost``

``@rustbot`` label +A-codegen +A-cranelift +T-compiler
2021-02-01 14:29:47 +01:00
bjorn3
eeb75c7d96 Merge branch 'sync_from_rust' 2021-02-01 10:12:52 +01:00
bjorn3
a75f9bc3be Merge commit 'd556c56f792756dd7cfec742b9f2e07612dc10f4' into sync_cg_clif-2021-02-01 2021-02-01 10:11:46 +01:00
bjorn3
d556c56f79 Add option to build using the sysroot of rustc 2021-01-31 18:31:33 +01:00
bjorn3
17cffc1757 Move some env var definitions around to fix cross-compilation 2021-01-31 14:56:10 +01:00
bjorn3
0929e37994 Fix a small error in the readme 2021-01-31 14:15:50 +01:00
bjorn3
8c7ae41f62 Remove code comment 2021-01-31 14:15:08 +01:00
bjorn3
9164653c10 Split config.sh and add support for copying the mingw runtime objects 2021-01-31 14:15:08 +01:00
bjorn3
9384af4198 Link examples to the correct libc when targeting Windows 2021-01-31 12:46:17 +01:00
bjorn3
9c943bf5de Fix sysroot dir for cg_clif_build_sysroot 2021-01-31 12:44:02 +01:00