Nicholas Nethercote
bd4e623485
Use chaining for DiagnosticBuilder
construction and emit
.
...
To avoid the use of a mutable local variable, and because it reads more
nicely.
2024-01-08 15:45:29 +11:00
bjorn3
d1d134e464
Merge commit '6d355f6844323db03bfd608899613e363e701951' into sync_cg_clif-2023-12-31
2023-12-31 13:29:53 +00:00
Nicholas Nethercote
8a9db25459
Remove more Session
methods that duplicate DiagCtxt
methods.
2023-12-24 08:17:47 +11:00
Nicholas Nethercote
99472c7049
Remove Session
methods that duplicate DiagCtxt
methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Nicholas Nethercote
09af8a667c
Rename Session::span_diagnostic
as Session::dcx
.
2023-12-18 16:06:21 +11:00
bjorn3
484bc7fc88
Merge commit '93a5433f17ab5ed48cc88f1e69b0713b16183373' into sync_cg_clif-2023-10-24
2023-10-24 12:22:23 +00:00
bjorn3
e07f47b6c5
Merge commit 'c07d1e2f88cb3b1a0604ae8f18b478c1aeb7a7fa' into sync_cg_clif-2023-10-21
2023-10-21 19:54:51 +00:00
bjorn3
f0b5820fa5
Fix review comments
2023-10-09 18:39:43 +00:00
bjorn3
e9fa2ca6ad
Remove cgu_reuse_tracker from Session
...
This removes a bit of global mutable state
2023-10-09 18:39:41 +00:00
bjorn3
6b9ee90c2c
Reuse determine_cgu_reuse from cg_ssa in cg_clif
2023-10-09 18:38:50 +00:00
bjorn3
169055f2ff
Merge commit '81dc066758ec150b43822d4a0c84aae20fe10f40' into sync_cg_clif-2023-10-09
2023-10-09 08:52:46 +00:00
John Kåre Alsaker
f742d88326
Remove verbose_generic_activity_with_arg
2023-09-10 17:47:16 +02:00
Vadim Petrochenkov
0b89aac08d
rustc: Move crate_types
from Session
to GlobalCtxt
...
Removes a piece of mutable state.
Follow up to #114578 .
2023-08-09 14:17:54 +08:00
bjorn3
36708123c1
Merge commit '1eded3619d0e55d57521a259bf27a03906fdfad0' into sync_cg_clif-2023-07-22
2023-07-22 13:32:34 +00:00
Nicholas Nethercote
b52f9eb6ca
Introduce MonoItemData
.
...
It replaces `(Linkage, Visibility)`, making the code nicer. Plus the
next commit will add another field.
2023-07-17 08:44:48 +10:00
bjorn3
82b497286d
Merge commit '8830dccd1d4c74f1f69b0d3bd982a3f1fcde5807' into sync_cg_clif-2023-06-15
2023-06-15 17:56:01 +00:00
Andrew Xie
204e2bf5a4
Updated cranelift codegen to reflect modified trait signature
2023-06-04 21:54:38 -04:00
Nicholas Nethercote
6b62f37402
Restrict From<S>
for {D,Subd}iagnosticMessage
.
...
Currently a `{D,Subd}iagnosticMessage` can be created from any type that
impls `Into<String>`. That includes `&str`, `String`, and `Cow<'static,
str>`, which are reasonable. It also includes `&String`, which is pretty
weird, and results in many places making unnecessary allocations for
patterns like this:
```
self.fatal(&format!(...))
```
This creates a string with `format!`, takes a reference, passes the
reference to `fatal`, which does an `into()`, which clones the
reference, doing a second allocation. Two allocations for a single
string, bleh.
This commit changes the `From` impls so that you can only create a
`{D,Subd}iagnosticMessage` from `&str`, `String`, or `Cow<'static,
str>`. This requires changing all the places that currently create one
from a `&String`. Most of these are of the `&format!(...)` form
described above; each one removes an unnecessary static `&`, plus an
allocation when executed. There are also a few places where the existing
use of `&String` was more reasonable; these now just use `clone()` at
the call site.
As well as making the code nicer and more efficient, this is a step
towards possibly using `Cow<'static, str>` in
`{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing
the `From<&'a str>` impls to `From<&'static str>`, which is doable, but
I'm not yet sure if it's worthwhile.
2023-05-03 08:44:39 +10:00
bjorn3
a8697f9565
Merge commit 'ef07e8e60f994ec014d049a95591426fb92ebb79' into sync_cg_clif-2023-04-29
2023-04-29 12:00:43 +00:00
bjorn3
fce629d2e9
Merge commit 'dec0daa8f6d0a0e1c702f169abb6bf3eee198c67' into sync_cg_clif-2023-03-15
2023-03-15 14:41:48 +00:00
Maybe Waffle
8751fa1a9a
if $c:expr { Some($r:expr) } else { None }
=>> $c.then(|| $r)
2023-02-16 15:26:00 +00:00
bjorn3
e25566e20b
Merge commit '7d53619064ab7045c383644cb445052d2a3d46db' into sync_cg_clif-2023-02-09
2023-02-09 12:38:16 +01:00
bjorn3
b829bb7431
Merge commit '598f0909568a51de8a2d1148f55a644fd8dffad0' into sync_cg_clif-2023-01-24
2023-01-24 18:56:42 +01:00
bjorn3
949699931e
Merge commit '2bb3996244cf1b89878da9e39841e9f6bf061602' into sync_cg_clif-2022-12-14
2022-12-14 19:30:46 +01:00
bjorn3
e54a13f18b
Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
7b9c8c8781
Merge commit 'e9d1a0a7b0b28dd422f1a790ccde532acafbf193' into sync_cg_clif-2022-08-24
2022-08-24 18:40:58 +02:00
Joshua Nelson
3c9765cff1
Rename debugging_opts
to unstable_opts
...
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
2022-07-13 17:47:06 -05:00
David Wood
8371a036ea
incr: cache dwarf objects in work products
...
Cache DWARF objects alongside object files in work products when those
exist so that DWARF object files are available for thorin in packed mode
in incremental scenarios.
Signed-off-by: David Wood <david.wood@huawei.com>
2022-07-06 11:15:13 +01:00
Maybe Waffle
c1a2db3372
Move/rename lazy::Sync{OnceCell,Lazy}
to sync::{Once,Lazy}Lock
2022-06-16 19:54:42 +04:00
bjorn3
e16c3b4a44
Make saved_file field of WorkProduct non-optional
...
A WorkProduct without a saved file is useless
2022-06-06 12:39:32 +00:00
bjorn3
906b85157c
Factor Option out of copy_cgu_workproduct_to_incr_comp_cache_dir call
...
This improves clarity of the code a bit
2022-06-06 12:38:38 +00:00
bjorn3
065e202b56
Avoid an unnecessary clone for copy_cgu_workproduct_to_incr_comp_cache_dir calls
2022-06-06 12:32:08 +00:00
bjorn3
02162c4163
Rename CodegenUnit::work_product to previous_work_product
...
It returns the previous work product or panics if there is none. This rename
makes the purpose of this method clearer.
2022-06-06 12:30:10 +00:00
bjorn3
ecd8fa1a75
Merge commit '63734fcdd718cca089f84c42f3a42c0096cfd431' into sync_cg_clif-2022-05-15
2022-05-15 12:32:19 +02:00
klensy
d0cc98689e
check_doc_keyword: don't alloc string for emptiness check
...
check_doc_alias_value: get argument as Symbol to prevent needless string convertions
check_doc_attrs: don't alloc vec, iterate over slice. Vec introduced in #83149 , but no perf run posted on merge
replace as_str() check with symbol check
get_single_str_from_tts: don't prealloc string
trivial string to str replace
LifetimeScopeForPath::NonElided use Vec<Symbol> instead of Vec<String>
AssertModuleSource use BTreeSet<Symbol> instead of BTreeSet<String>
CrateInfo.crate_name replace FxHashMap<CrateNum, String> with FxHashMap<CrateNum, Symbol>
2022-04-08 11:45:57 +03:00
Loïc BRANSTETT
1a1f5b89a4
Cleanup after some refactoring in rustc_target
2022-04-03 21:29:57 +02:00
bjorn3
ef4ce72919
Merge commit '370c397ec9169809e5ad270079712e0043514240' into sync_cg_clif-2022-03-20
2022-03-20 16:55:21 +01:00
bjorn3
f596dce542
Merge commit '35d9c6bf256968e1b40e0d554607928bdf9cebea' into sync_cg_clif-2022-02-23
2022-02-23 11:49:34 +01:00
bjorn3
a8e6d5b04d
Merge commit '40b00f4200fbdeefd11815398cb46394b8cb0a5e' into sync_cg_clif-2021-12-30
2021-12-30 14:53:41 +01:00
bjorn3
3426a730ff
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
2021-12-20 18:56:35 +01:00
Nicholas Nethercote
056d48a2c9
Remove unnecessary sigils around Symbol::as_str()
calls.
2021-12-15 17:32:14 +11:00
Camille GILLOT
aa404c24dd
Make hash_result an Option.
2021-10-20 18:29:18 +02:00
Camille GILLOT
b244b98e7c
Move EncodedMetadata to rustc_metadata.
2021-09-30 19:41:32 +02:00
bjorn3
86f9bcfb8e
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
2021-09-19 13:56:58 +02:00
bjorn3
b86a2ee036
Use in_incr_comp_dir_sess in cg_clif
2021-09-02 12:29:12 +02:00
bjorn3
d531f3d6ee
Merge commit '3a31c6d8272c14388a34622193baf553636fe470' into sync_cg_clif-2021-07-07
2021-07-07 11:14:20 +02:00
bjorn3
323a74779f
Move LinkerInfo into CrateInfo
2021-07-06 15:31:38 +02:00
bjorn3
8748e37d35
Remove LibSource
...
The information is stored in used_crate_source too anyway
2021-07-05 10:49:07 +02:00
bjorn3
e30490d5b2
Move crate_name field from OngoingCodegen to CrateInfo
2021-06-04 13:20:05 +02:00
bjorn3
96247017fa
Move windows_subsystem field from CodegenResults to CrateInfo
2021-06-04 13:20:04 +02:00