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