2381 Commits

Author SHA1 Message Date
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
Jacob Pratt
260a5d4d64 Stabilize str_split_once 2021-02-09 23:17:11 -05:00
bjorn3
c5dff34ae9 Revert "Update libc and libloading"
This reverts commit bfcf97bd8360931eb088d65f247fc9e1016f8199.

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 f4008fe94935d05ffb3a48fc5b7149070bb45550 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 d60b29d1ae8147538b8d542f7ffcc03b48e2cbda 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
bjorn3
1548411ad9 Add missing directory to clean_all.sh 2021-01-31 12:43:39 +01:00
bjorn3
84f24e530a Re-enable mir inlining for the sysroot 2021-01-30 21:26:37 +01:00
bjorn3
7657ebccc8 Fix macOS build 2021-01-30 20:05:38 +01:00
bjorn3
356d749952 Update Readme.md for the fixed abi compatibility 2021-01-30 19:38:57 +01:00
bjorn3
d34b5e2885 Rustup to rustc 1.51.0-nightly (b12290861 2021-01-29) 2021-01-30 19:29:02 +01:00
bjorn3
8faae2992a Add missing dir to .gitignore 2021-01-30 18:27:28 +01:00
bjorn3
f3447682d0 Handle PassMode::Cast in combination with #[repr(align)] 2021-01-30 17:26:51 +01:00