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 8df945c4717ffaf923b57bf30c473df6fc98bc85
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
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
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
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
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 CValue
s
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
7167f4c9a4
Sync from rust 0deb536ff987d7200f5ea35634781e9df9d5b666
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
73d2e22969
Sync from rust b09dad3eddfc46c55e45f6c1a00bab09401684b4
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
83cca1b03c
Write better clif ir header
2021-07-04 12:39:22 +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
cda811173e
Fix compilation for AArch64
2021-07-02 12:39:48 +02:00
bjorn3
ae98d5a78d
Don't use data object for non-primitive scalars
...
Fixes #1041
2021-07-02 12:07:08 +02:00
bjorn3
f5a1633956
Reduce duplication of vtables
2021-07-01 12:05:10 +02:00
bjorn3
4cbba98420
Rustup to rustc 1.55.0-nightly (6d820866a 2021-06-29)
2021-06-30 21:21:06 +02:00
Smitty
17373a9401
fix sess error
...
This passed x.py check locally, not sure why it wasn't rebased right...
2021-06-29 19:17:14 -04:00
Smitty
6048adc8b1
Support allocation failures when interperting MIR
...
Note that this breaks Miri.
Closes #79601
2021-06-29 19:08:26 -04:00
bjorn3
3ec2b444b1
Sync from rust e98897e5dc9898707bf4331c43b2e76ab7e282fe
2021-06-29 20:38:04 +02:00
bors
b186f8605a
Auto merge of #86475 - crlf0710:miri_vtable_refactor, r=bjorn3
...
Change vtable memory representation to use tcx allocated allocations.
This fixes https://github.com/rust-lang/rust/issues/86324 . However i suspect there's more to change before it can land.
r? `@bjorn3`
cc `@rust-lang/miri`
2021-06-29 15:52:21 +00:00
Charles Lew
4d289dba2e
Update other codegens to use tcx managed vtable allocations.
2021-06-28 19:39:48 +08:00
bors
e0af5f783c
Auto merge of #85909 - cjgillot:alloc-kind-query, r=Aaron1011
...
Make allocator_kind a query.
Part of #85153
r? `@Aaron1011`
2021-06-28 01:20:01 +00:00
bjorn3
0d1cedecbb
Merge pull request #1166 from eggyal/lazy-jit-multithreaded
...
Multithreading support for lazy-jit
2021-06-25 18:33:00 +02:00
bors
e475efb1ad
Auto merge of #85640 - bjorn3:custom_ice_hook, r=jackh726
...
Allow changing the bug report url for the ice hook
cc https://github.com/bjorn3/rustc_codegen_cranelift/issues/1174
2021-06-25 04:06:32 +00:00
Camille GILLOT
b497c7d954
Make allocator_kind a query.
2021-06-20 11:52:51 +02:00
bjorn3
ab7f1c8a0e
Fix miscompilation in vtable access
...
Fixes #1179
2021-06-17 18:41:43 +02:00
bjorn3
b0d1f50301
Sync from rust b17d9c1332693fc386f5374f0d63aae0ce5abab5
2021-06-17 15:22:37 +02:00
Alan Egerton
4a7068dbfc
Ensure Instances are only jitted once
2021-06-17 09:42:38 +01:00
Alan Egerton
2945b96e58
Multithreading support for lazy-jit
2021-06-17 09:42:37 +01:00
bors
9be7ca00f1
Auto merge of #86291 - crlf0710:trait_vtbl_refactor, r=bjorn3
...
Refactor vtable codegen
This refactor the codegen of vtables of miri interpreter, llvm, cranelift codegen backends.
This is preparation for the implementation of trait upcasting feature. cc #65991
Note that aside from code reorganization, there's an internal behavior change here that now InstanceDef::Virtual's index now include the three metadata slots, and now the first method is with index 3.
cc `@RalfJung` `@bjorn3`
2021-06-16 07:20:27 +00:00
Alexander
432285fbc6
Implement llvm.x86.addcarry.64 and llvm.x86.subborrow.64 ( #1178 )
2021-06-15 13:41:46 +02:00
LeSeulArtichaut
8923e42a05
Use the now available implementation of IntoIterator
for arrays
2021-06-14 23:40:09 +02:00
Charles Lew
d3e123fc4f
Refactor to make interpreter and codegen backend neutral to vtable internal representation.
2021-06-15 01:59:00 +08:00
bjorn3
84dd22969f
Include rustc and cranelift version in debuginfo
2021-06-10 11:18:59 +02:00
bors
fa7545e49b
Auto merge of #85910 - cjgillot:no-meta-version, r=Aaron1011
...
Drop metadata_encoding_version.
Part of #85153
r? `@Aaron1011`
2021-06-10 00:39:25 +00:00
Yuki Okushi
8224e72fbc
Rollup merge of #86016 - luqmana:infer-linker-flavor, r=petrochenkov
...
Unify duplicate linker_and_flavor methods in rustc_codegen_{cranelift,ssa}.
The two methods were exactly the same so this removes the cranelift copy. This will help make sure both they don't get out of sync.
2021-06-07 15:21:03 +09:00
bors
ab73115be0
Auto merge of #85810 - bjorn3:further_driver_cleanup, r=varkor
...
Driver improvements
This PR contains a couple of cleanups for the driver and a few small improvements for the custom codegen backend interface. It also implements `--version` and `-Cpasses=list` support for custom codegen backends.
2021-06-07 02:30:24 +00:00