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
bjorn3
6170fc617e
Split abi adjustments out
2021-01-25 10:57:59 +01:00
bjorn3
d39b441129
Start using ArgAbi
2021-01-25 10:45:01 +01:00
Ralf Jung
d6eb4f571e
clean up some const error reporting around promoteds
2021-01-24 13:34:34 +01:00
bjorn3
ae6daf77ba
Default to Cranelift newBE
2021-01-22 12:28:32 +01:00
bjorn3
2ced8c0eb0
Fix rust-analyzer pref name
2021-01-21 21:22:19 +01:00
bjorn3
500faf2165
Merge pull request #1127 from bjorn3/newbe
...
Support building with the new Cranelift backends
2021-01-21 19:55:19 +01:00
bjorn3
da4aa92df1
Test both oldbe and newbe on CI
2021-01-21 19:34:58 +01:00
bjorn3
173ec34e3d
Add a feature flag to switch between oldbe and newbe
2021-01-21 19:33:29 +01:00
bjorn3
a19ef67f14
Update Cranelift
...
This implements everything in the new backend necessary for usage with cg_clif
2021-01-21 19:19:48 +01:00
bjorn3
9bf5cb43ab
Fix indirectly linking to libstd.so with the JIT
2021-01-21 16:14:32 +01:00
bjorn3
7f60301a7a
Disable new failing libcore tests
2021-01-21 15:19:31 +01:00
bjorn3
c0aefeb5b7
Rustup to rustc 1.51.0-nightly ( a4cbb44ae
2021-01-20)
2021-01-21 14:51:28 +01:00
LeSeulArtichaut
c3d7dc93dc
Use ty::{IntTy,UintTy,FloatTy} in rustc
2021-01-18 21:09:30 +01:00