Commit Graph

2197 Commits

Author SHA1 Message Date
bjorn3
86c594426f
Merge pull request #1144 from bjorn3/dynamic_module
Use dynamic dispatch for the inner Module
2021-02-23 21:00:33 +01:00
bjorn3
73d3a1c14a Use dynamic dispatch for the inner Module
This improves compilation time and shrinks the linked backend from
13MB to 9.7MB on Linux.
2021-02-23 18:49:37 +01:00
bjorn3
ef96a0f3f0 Update Cranelift 2021-02-23 18:48:55 +01:00
bjorn3
c247446570 Disable macro-error rust-analyzer diagnostic 2021-02-23 09:56:16 +01:00
bjorn3
b0028fa409 Update dependencies 2021-02-22 14:56:06 +01:00
bjorn3
d5ac849a24 Update Cranelift 2021-02-22 14:46:24 +01:00
bjorn3
a5bf6d2f18 Rustup to rustc 1.52.0-nightly (83b30a639 2021-02-20) 2021-02-21 17:27:53 +01:00
bjorn3
013b3c5a7c Rustfmt 2021-02-21 17:03:21 +01:00
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
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 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