Commit Graph

1289 Commits

Author SHA1 Message Date
bjorn3
9089c305da Remove TyCtxt dependency from UnwindContext 2021-12-27 17:54:06 +01:00
bjorn3
97e5045493 Fix taking address of truly unsized type field of unsized adt 2021-12-20 18:49:43 +01:00
bjorn3
bb6d83dac9 Sync from rust 84f962a89b 2021-12-20 18:12:18 +01:00
bors
c3a9a9b424 Auto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk
Remove `SymbolStr`

This was originally proposed in https://github.com/rust-lang/rust/pull/74554#discussion_r466203544. As well as removing the icky `SymbolStr` type, it allows the removal of a lot of `&` and `*` occurrences.

Best reviewed one commit at a time.

r? `@oli-obk`
2021-12-19 09:31:37 +00:00
bjorn3
a795a0384b Remove triple method from FunctionCx
Instead use the default_call_conv field on TargetFrontendConfig to get
the default CallConv.
2021-12-18 15:46:30 +01:00
bjorn3
fdd0f8a3b5 Slightly reduce the amount of fx.module references 2021-12-18 15:33:31 +01:00
bjorn3
d0f97fc039 Rustup to rustc 1.59.0-nightly (c5ecc1570 2021-12-15) 2021-12-16 14:11:04 +01:00
bjorn3
d084fca557 Sync from rust a090c8659c 2021-12-16 13:52:12 +01:00
bjorn3
2cb4fe711e Fix unused crate warning 2021-12-16 13:51:18 +01:00
bjorn3
f74cf39a74 Fix crash when struct argument size is not a multiple of the pointer size
Fixes #1200
2021-12-15 16:53:35 +01:00
Nicholas Nethercote
93511d926f Remove unnecessary sigils around Symbol::as_str() calls. 2021-12-15 17:32:14 +11:00
Nicholas Nethercote
75f6118ad1 Remove SymbolStr.
By changing `as_str()` to take `&self` instead of `self`, we can just
return `&str`. We're still lying about lifetimes, but it's a smaller lie
than before, where `SymbolStr` contained a (fake) `&'static str`!
2021-12-15 13:30:26 +11:00
Matthias Krüger
c57bcb8fcb Rollup merge of #91868 - tmiasko:llvm-time-trace-out, r=oli-obk
Use `OutputFilenames` to generate output file for `-Zllvm-time-trace`

The resulting profile will include the crate name and will be stored in
the `--out-dir` directory.

This implementation makes it convenient to use LLVM time trace together
with cargo, in the contrast to the previous implementation which would
overwrite profiles or store them in `.cargo/registry/..`.
2021-12-15 01:28:06 +01:00
Amanieu d'Antras
edeb3891e9 Remove invalid doc links. 2021-12-13 20:40:17 +00:00
Tomasz Miąsko
a4bf9fbdbf Use OutputFilenames to generate output file for -Zllvm-time-trace
The resulting profile will include the crate name and will be stored in
the `--out-dir` directory.

This implementation makes it convenient to use LLVM time trace together
with cargo, in the contrast to the previous implementation which would
overwrite profiles or store them in `.cargo/registry/..`.
2021-12-13 00:00:00 +00:00
bjorn3
057635b9da Rustfmt 2021-12-09 13:43:32 +01:00
bjorn3
47962076a1 Use cg_ssa for creating the dylib metadata file
The new api was introduced in rust-lang/rust#91604
2021-12-09 13:36:33 +01:00
bjorn3
aaf508cab3 Use const thread_local! 2021-12-07 18:25:27 +01:00
bjorn3
7d34d3ad78 Sync from rust c5c9494509 2021-12-07 17:57:58 +01:00
bjorn3
df7f02072b Remove black box inline asm fallback
It isn't used anymore since the introduction of the black_box intrinsic
2021-12-04 15:03:50 +01:00
cynecx
dd3cb0cd75 cg_cranelift: check may_unwind flag instead of cleanup 2021-12-03 23:51:49 +01:00
cynecx
5728c165fa LLVM codgen support for unwinding inline assembly 2021-12-03 23:51:49 +01:00
bjorn3
dd288d27de Fix vector types containing an array field with mir opts enabled 2021-12-03 12:13:41 +01:00
Petr Sumbera
948d0243de fix sparc64 ABI for aggregates with floating point members 2021-12-01 10:03:45 +01:00
bjorn3
c989324672 Fix warning 2021-11-26 16:21:19 +01:00
bjorn3
efdbd88a74 Ensure inline asm wrapper name never starts with a digit
This could previously happen if the cgu name starts with a digit
2021-11-25 11:43:18 +01:00
bjorn3
8714be0ad3 Include NOTYPE symbols in the archive symbol table
This is necessary for blog os
2021-11-24 20:35:57 +01:00
bjorn3
1222192374 Use cgu name instead of function name as base for inline asm wrapper name
This fixes using #[inline] functions containing inline assembly from multiple cgus
2021-11-24 19:18:22 +01:00
Gary Guo
5f0c6e5539 Fix allocated reg in AT&T style asm 2021-11-22 17:01:43 +00:00
Gary Guo
f9534a9bc9 Add RISC-V inline asm support 2021-11-22 16:28:14 +00:00
Gary Guo
31e7fa54a0 Dispatch inline asm to the correct arch 2021-11-22 16:28:14 +00:00
Gary Guo
cfdf10b259 x86 inline asm support 2021-11-22 16:28:14 +00:00
Gary Guo
eaf88c5b52 Skeleton for multiple arch support 2021-11-22 13:45:18 +00:00
Gary Guo
fe3ba31860 Overlap input and output stack slots 2021-11-22 13:45:18 +00:00
Gary Guo
14aa039d30 Skip registers saved by calling convention 2021-11-22 13:45:17 +00:00
Gary Guo
703027f0fc Code cleanup as a follow up to the previous commit 2021-11-22 03:15:12 +00:00
Gary Guo
894468a537 Move stack slot allocation to a new fn 2021-11-22 03:15:12 +00:00
Gary Guo
f16d27aca4 Remove expect_reg 2021-11-22 01:48:22 +00:00
Gary Guo
042eb37837 Implement register allocation for inline assembly 2021-11-22 01:45:58 +00:00
bjorn3
d288c6924d Implement simd_reduce_{min,max} for floats 2021-11-18 19:27:49 +01:00
bjorn3
a8be7ea503 Implement new simd_shuffle signature 2021-11-18 19:27:32 +01:00
bjorn3
bf907a3de1 Sync from rust 47aeac648e 2021-10-27 14:05:12 +02:00
bjorn3
1ceda5bb7e Remove unncesessary TryFrom and TryInto impls 2021-10-21 20:18:01 +02:00
Camille GILLOT
7879119e6a Make hash_result an Option. 2021-10-20 18:29:18 +02:00
bjorn3
8ed0d0d980 Remove unnecessary Lazy
Found by m-ou-se in https://github.com/bjorn3/rustc_codegen_cranelift/pull/1166#discussion_r730468919
2021-10-17 22:44:08 +02:00
bjorn3
b2fed29e1a Update Cranelift 2021-10-12 14:47:57 +02:00
Deadbeef
0134088cd2 Add const_eval_select intrinsic 2021-10-12 05:42:23 +00:00
bjorn3
376dd765d4 Sync from rust bb918d0a5b 2021-10-09 15:02:14 +02:00
bors
2228c49544 Auto merge of #89619 - michaelwoerister:incr-vtables, r=nagisa
Turn vtable_allocation() into a query

This PR removes the untracked vtable-const-allocation cache from the `tcx` and turns the `vtable_allocation()` method into a query.

The change is pretty straightforward and should be backportable without too much effort.

Fixes https://github.com/rust-lang/rust/issues/89598.
2021-10-08 09:04:06 +00:00
Michael Woerister
095064b996 Turn tcx.vtable_allocation() into a query. 2021-10-07 20:03:00 +02:00