Commit Graph

1104 Commits

Author SHA1 Message Date
bjorn3 3d85f05dfd Remove no longer necessary intcasts 2021-03-15 14:04:04 +01:00
bjorn3 b1d14ca05d Use mmap for metadata loading
This can have a significant improvement on compilation times. In
addition it reduces the memory consumption.

Fixes #927
2021-03-15 11:59:06 +01:00
bjorn3 578fcdef5f Special case ZST's in Rvalue::Repeat
Fixes #1146 by preventing a hang for [(); usize::MAX], which is used in
a test of libcore.
2021-03-15 10:22:29 +01:00
bjorn3 826189ef51 Some clippy fixes 2021-03-09 12:37:39 +01:00
bjorn3 6ef48e9cb4 Sync from rust 4b9f5cc4c1 2021-03-09 10:10:40 +01:00
bors 7f020206e8 Auto merge of #82727 - oli-obk:shrinkmem, r=pnkfelix
Test the effect of shrinking the size of Rvalue by 16 bytes

r? `@ghost`
2021-03-08 08:39:24 +00:00
bjorn3 be3aa0689e Revert "Use jemalloc"
This reverts commit d194c707c8.

It fails the bootstrap test as jemalloc_sys is not built
2021-03-06 19:21:30 +01:00
bjorn3 d194c707c8 Use jemalloc 2021-03-06 19:06:15 +01:00
bjorn3 cecd7a9ae6 Add clif comments when in release mode
Fixes #1130
2021-03-06 18:45:04 +01:00
bjorn3 4ca3384db6 Make it possible to enable the verifier in release mode 2021-03-06 15:33:47 +01:00
bjorn3 bd1b1dd58e Handle #![windows_subsystem] 2021-03-06 14:58:29 +01:00
bjorn3 5f3d640d45 Fix warning 2021-03-06 14:49:55 +01:00
bjorn3 1122f42e28 Support cross-compiling to Windows using MinGW 2021-03-05 21:32:49 +01:00
bjorn3 27886cd6b6 Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05 2021-03-05 19:12:59 +01:00
bjorn3 9a0c32934e Disable value debuginfo
This prevents an expensive Cranelift pass from running to reconstruct the debuginfo
2021-03-05 16:59:35 +01:00
bjorn3 5e736293b3 Rustfmt 2021-03-05 11:21:44 +01:00
bjorn3 9406510cee Sync from rust a0d66b54fb 2021-03-05 10:46:59 +01:00
Oli Scherer b63df38a98 Shrink the size of Rvalue by 16 bytes 2021-03-05 09:33:01 +00:00
Guillaume Gomez 8b7d335c38 Rollup merge of #81940 - jhpratt:stabilize-str_split_once, r=m-ou-se
Stabilize str_split_once

Closes #74773
2021-02-26 15:52:29 +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 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 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 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
Camille GILLOT fe8d11bb99 Use an ItemId inside mir::GlobalAsm. 2021-02-15 19:24:58 +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 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 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 e4ae9ef3b0 Rustup to rustc 1.51.0-nightly (d4e3570db 2021-02-01) 2021-02-02 10:24:29 +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 a75f9bc3be Merge commit 'd556c56f792756dd7cfec742b9f2e07612dc10f4' into sync_cg_clif-2021-02-01 2021-02-01 10:11:46 +01:00