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