Commit Graph

2112 Commits

Author SHA1 Message Date
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
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
bjorn3
18de1b1fde
Merge pull request #1131 from bjorn3/abi_compat
Full abi compatibilty
2021-01-30 16:53:15 +01:00
bjorn3
6a739b3ae1
Merge pull request #1132 from Uriopass/master
Don't set RUSTFLAGS when no specific linker is needed
2021-01-30 16:31:48 +01:00
Paris DOUADY
3eb649c631 dont set rustflags when no specific linker needed 2021-01-30 16:25:48 +01:00
bjorn3
7fcf59f19e Add print on panic for predefining of a function 2021-01-30 14:19:13 +01:00
bjorn3
2d6981756d Handle argument extension mode 2021-01-30 12:25:20 +01:00
bjorn3
b5ddb76f84 Force stack slot size to be a multiple of 16
This ensures that all stack slots are aligned to 16 bytes. Without this
linking against crates compiled with cg_llvm may cause a crash due to
simd instructions requiring a 16 byte alignment.
2021-01-30 12:11:40 +01:00
bjorn3
139a6d12de Fix 128bit checked math intrinsic calls 2021-01-30 11:02:24 +01:00
bjorn3
e8f48e4bae [WIP] Implement PassMode::Cast 2021-01-29 22:15:15 +01:00
Tyson Nottingham
2b8f2acd5f Indicate both start and end of pass RSS in time-passes output
Previously, only the end of pass RSS was indicated. This could easily
lead one to believe that the change in RSS from one pass to the next was
attributable to the second pass, when in fact it occurred between the
end of the first pass and the start of the second.

Also, improve alignment of columns.
2021-01-29 12:46:29 -08:00
Yuki Okushi
e67b72de2e Rollup merge of #81333 - RalfJung:const-err-simplify, r=oli-obk
clean up some const error reporting around promoteds

These are some error reporting simplifications enabled by https://github.com/rust-lang/rust/pull/80579.

Further simplifications are possible but could be blocked on making `const_err` a hard error.

r? ``````@oli-obk``````
2021-01-29 09:17:38 +09:00
bjorn3
268d7bc459 Remove fn_sig_for_fn_abi 2021-01-27 10:36:40 +01:00
bjorn3
e564a0ad31 Rustfmt 2021-01-27 10:33:06 +01:00
bjorn3
aa23f862dc Remove vararg support check
This check wasn't very useful and removing it simplifies the code.
2021-01-27 10:32:56 +01:00
bjorn3
d263447878 Replace EmptySinglePair with SmallVec 2021-01-27 10:24:31 +01:00
bjorn3
fc595f1a55 [WIP] Use FnAbi everywhere instead of our own abi calculations 2021-01-26 21:41:20 +01:00
bjorn3
4555737152 Split symbol name and signature calculation 2021-01-26 15:11:03 +01:00
bjorn3
2b58d8c187 Misc cleanups 2021-01-25 17:12:16 +01:00
bjorn3
de713a80ca Replace all uses of PassMode with ArgAbi 2021-01-25 15:37:49 +01:00
bjorn3
ff3304285a Rustup to rustc 1.51.0-nightly (1d0d76f8d 2021-01-24) 2021-01-25 11:40:26 +01:00