Commit graph

2288 commits

Author SHA1 Message Date
bjorn3
344cbac150 Fix simd_reduce_* intrinsics 2021-07-24 15:24:06 +02:00
bjorn3
a7b06e81fc Fix two type mismatch bugs 2021-07-23 18:29:47 +02:00
bjorn3
c42be7975f Support repr(simd) on ADTs containing a single array field
This is the cg_clif half of rust PR 78863
2021-07-23 18:28:33 +02:00
bjorn3
356360836e Avoid call to pointer_ty 2021-07-19 15:34:33 +02:00
bjorn3
0ebb4839f6 Rustup to rustc 1.55.0-nightly (59216858a 2021-07-18) 2021-07-19 15:32:22 +02:00
bjorn3
c151bb4ac5 Sync from rust 8df945c471 2021-07-19 15:23:20 +02:00
Yuki Okushi
d7c3c45d68 Rollup merge of #87092 - ricobbe:fix-raw-dylib-multiple-definitions, r=petrochenkov
Remove nondeterminism in multiple-definitions test

Compare all fields in `DllImport` when sorting to avoid nondeterminism in the error for multiple inconsistent definitions of an extern function.  Restore the multiple-definitions test.

Resolves #87084.
2021-07-18 14:21:56 +09:00
bjorn3
bd2f72f398
Merge pull request #1187 from bjorn3/feature_gating
Preparations for building as part of rustc
2021-07-17 17:55:57 +02:00
bjorn3
c2a9839686 Disable jit and inline-asm when building as part of rustc
Both features are not yet ready. Inline-asm is only supported on Linux
and requires explicitly specifying registers instead of register
classes. The jit has usability issues and may require the cg_clif
executable in the future.
2021-07-17 16:40:54 +02:00
bjorn3
80b9e36709 Put all cg_clif specific options behind -Zunstable-features 2021-07-17 16:32:55 +02:00
bjorn3
60340d44d8 Don't panic when the target is not supported by Cranelift 2021-07-17 16:07:27 +02:00
bjorn3
ede41d1b98 [CI] Update package list before installing packages 2021-07-17 15:03:18 +02:00
bjorn3
6dc386e192 Don't truncate the shift amount
It isn't actually necessary
2021-07-17 14:34:58 +02:00
bjorn3
f7cfb9d6d5 Remove shl/shr special handling for 128bit ints
Cranelift now natively supports 128bit int shifting
2021-07-17 14:34:58 +02:00
bjorn3
17eaf432b7 Update Cranelift 2021-07-17 14:34:58 +02:00
Richard Cobbe
b47198aaa1 Consider all fields when comparing DllImports, to remove nondetermininsm in multiple-definitions test 2021-07-16 11:10:31 -07:00
Ralf Jung
e643b8b561 fix cranelift 2021-07-14 18:17:49 +02:00
bjorn3
e7a4323674 Remove explicit branch="main" form Cargo.toml 2021-07-13 21:32:28 +02:00
Scott McMurray
e3091d74d8 Use cranelift's Type::int instead of doing the match myself
<https://docs.rs/cranelift-codegen/0.74.0/cranelift_codegen/ir/types/struct.Type.html#method.int>
2021-07-08 14:55:58 -07:00
Scott McMurray
7a0574d826 PR Feedback: Don't put SSA-only types in CValues 2021-07-08 14:55:58 -07:00
Scott McMurray
ea8d9aefda Implement the raw_eq intrinsic in codegen_cranelift 2021-07-08 14:55:57 -07:00
bjorn3
ab4da1174c Rustup to rustc 1.55.0-nightly (d2b04f075 2021-07-07) 2021-07-08 18:03:50 +02:00
bjorn3
7167f4c9a4 Sync from rust 0deb536ff9 2021-07-08 18:03:33 +02:00
bjorn3
fb92375755 Merge commit '3a31c6d8272c14388a34622193baf553636fe470' into sync_cg_clif-2021-07-07 2021-07-07 11:14:20 +02:00
bjorn3
3a31c6d827 Rustup to rustc 1.55.0-nightly (885399992 2021-07-06) 2021-07-07 11:08:52 +02:00
bjorn3
73d2e22969 Sync from rust b09dad3edd 2021-07-06 18:59:42 +02:00
bjorn3
4cfa1fcb5b Don't pass local_crate_name to link_binary separately
It is already part of CodegenResults
2021-07-06 17:49:23 +02:00
bjorn3
135edbf4ba Move LinkerInfo into CrateInfo 2021-07-06 15:31:38 +02:00
bjorn3
fed71e3448 Pass CrateInfo instead of TyCtxt to load_imported_symbols_for_jit 2021-07-05 18:46:13 +02:00
bjorn3
a0cdbd1aa6 Rustfmt 2021-07-05 18:44:37 +02:00
bjorn3
6b3a061e94 Remove LibSource
The information is stored in used_crate_source too anyway
2021-07-05 10:49:07 +02:00
bjorn3
38585b3f01 Don't overwrite LD_LIBRARY_PATH in config.sh 2021-07-04 18:17:26 +02:00
bjorn3
53478823e4 Refactor cg_clif building 2021-07-04 18:15:13 +02:00
bjorn3
0d531c3737 Better config parsing and allow specifying host and target triple in config 2021-07-04 15:10:06 +02:00
bjorn3
83cca1b03c Write better clif ir header 2021-07-04 12:39:22 +02:00
bjorn3
ac730b4464 Update Cranelift
This has a fix for a miscompilation on AArch64

cc #1184
2021-07-04 12:37:00 +02:00
Smitty
913c0bc01d Make vtable_allocation always succeed 2021-07-03 11:14:19 -04:00
bjorn3
751ae51044 Update Cranelift 2021-07-03 14:41:33 +02:00
bjorn3
6a31385363 Misc target related improvements 2021-07-03 14:28:53 +02:00
bjorn3
55e0779708 Check if the patched sysroot source is up to date before using it
Fixes #1181
2021-07-02 19:14:02 +02:00
bjorn3
4c440af7c1
Merge pull request #1183 from bjorn3/full_aarch64_support
AArch64 support on Linux
2021-07-02 15:03:16 +02:00
bjorn3
3dc9ec246c [CI] Cross compile to aarch64-unknown-linux-gnu 2021-07-02 14:48:50 +02:00
bjorn3
42f9ad56e9 [CI] Split build and test steps 2021-07-02 14:43:12 +02:00
bjorn3
e8ff364493 Fix rust-analyzer setting 2021-07-02 12:39:51 +02:00
bjorn3
cda811173e Fix compilation for AArch64 2021-07-02 12:39:48 +02:00
bjorn3
1bd9a132f6 Only test global_asm on x86_64 2021-07-02 12:17:26 +02:00
bjorn3
dd1419a1c4 Update Cranelift and object
This adds AArch64 support for unixes using ELF object files like Linux
2021-07-02 12:16:22 +02:00
bjorn3
ae98d5a78d Don't use data object for non-primitive scalars
Fixes #1041
2021-07-02 12:07:08 +02:00
bjorn3
e0f3ad2118 Disable new rustc test requiring unwinding support 2021-07-02 11:32:27 +02:00
bjorn3
f5a1633956 Reduce duplication of vtables 2021-07-01 12:05:10 +02:00