Commit graph

128 commits

Author SHA1 Message Date
bjorn3
23868af850 Correctly implement --emit 2024-03-26 10:55:46 +00:00
bjorn3
7d3b29399d Use sess.cfg_version instead of rustc_version_str()
This makes it easier to patch cg_clif to be statically linked as part of
rustc.
2024-01-25 21:21:27 +00:00
bjorn3
60ef392a2a Rustup to rustc 1.77.0-nightly (4cb17b4e7 2024-01-20) 2024-01-21 11:16:00 +00:00
bjorn3
9ab85888b3 Sync from rust 4cb17b4e78 2024-01-21 10:51:49 +00:00
Nicholas Nethercote
e6570dcccc 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
Matthias Krüger
74987d04fc fix a couple of clippy warnings 2024-01-05 22:40:25 +01:00
bjorn3
0cfbc47b9a Merge commit '6d355f6844' into sync_cg_clif-2023-12-31 2023-12-31 13:29:53 +00:00
bjorn3
1dbb249844 Rustup to rustc 1.77.0-nightly (89e2160c4 2023-12-27) 2023-12-28 16:26:57 +00:00
Nicholas Nethercote
93c86f78b2 Remove more Session methods that duplicate DiagCtxt methods. 2023-12-24 08:17:47 +11:00
Nicholas Nethercote
7e213fe428 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
b60e208549 Rename Session::span_diagnostic as Session::dcx. 2023-12-18 16:06:21 +11:00
bjorn3
a302610016 Merge commit '93a5433f17' into sync_cg_clif-2023-10-24 2023-10-24 12:22:23 +00:00
bjorn3
e472b5573a Merge commit 'c07d1e2f88' into sync_cg_clif-2023-10-21 2023-10-21 19:54:51 +00:00
bjorn3
3c0d3f2bf1 Fix review comments 2023-10-09 18:39:43 +00:00
bjorn3
e006e2c9c6 Remove cgu_reuse_tracker from Session
This removes a bit of global mutable state
2023-10-09 18:39:41 +00:00
bjorn3
ed2f5baba6 Reuse determine_cgu_reuse from cg_ssa in cg_clif 2023-10-09 18:38:50 +00:00
bjorn3
5d85a24442 Merge commit '81dc066758' into sync_cg_clif-2023-10-09 2023-10-09 08:52:46 +00:00
John Kåre Alsaker
4f6e9fd8d3 Remove verbose_generic_activity_with_arg 2023-09-10 17:47:16 +02:00
Vadim Petrochenkov
b107241218 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
e8168ce8a3 Merge commit '1eded3619d' into sync_cg_clif-2023-07-22 2023-07-22 13:32:34 +00:00
Nicholas Nethercote
46f74fb4d2 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
81ea0b29ea Merge commit '8830dccd1d' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
Andrew Xie
f8cde5884d Updated cranelift codegen to reflect modified trait signature 2023-06-04 21:54:38 -04:00
Nicholas Nethercote
a4c49374cb 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
8bf550e616 Merge commit 'ef07e8e60f' into sync_cg_clif-2023-04-29 2023-04-29 12:00:43 +00:00
bjorn3
7b3bd56ed9 Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
Maybe Waffle
f58bd0e290 if $c:expr { Some($r:expr) } else { None } =>> $c.then(|| $r) 2023-02-16 15:26:00 +00:00
bjorn3
56951e4f2b Merge commit '7d53619064' into sync_cg_clif-2023-02-09 2023-02-09 12:38:16 +01:00
bjorn3
b67610f98a Merge commit '598f090956' into sync_cg_clif-2023-01-24 2023-01-24 18:56:42 +01:00
bjorn3
98a276b589 Merge commit '2bb3996244' into sync_cg_clif-2022-12-14 2022-12-14 19:30:46 +01:00
bjorn3
9950bd1dc5 Merge commit '266e96785a' into sync_cg_clif-2022-10-23 2022-10-23 16:22:55 +02:00
bjorn3
cfef0a4f8d Merge commit 'e9d1a0a7b0' into sync_cg_clif-2022-08-24 2022-08-24 18:40:58 +02:00
Joshua Nelson
b2ae24e6a1 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
69d0c1e9ac 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
6d8c45064b Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock 2022-06-16 19:54:42 +04:00
bjorn3
3d8e854604 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
bbb850931f 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
5a1a111b52 Avoid an unnecessary clone for copy_cgu_workproduct_to_incr_comp_cache_dir calls 2022-06-06 12:32:08 +00:00
bjorn3
d5cb2bee82 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
d9025cebac Merge commit '63734fcdd7' into sync_cg_clif-2022-05-15 2022-05-15 12:32:19 +02:00
klensy
f2d2ec3e93 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
69046fa8fd Cleanup after some refactoring in rustc_target 2022-04-03 21:29:57 +02:00
bjorn3
d1904e5855 Merge commit '370c397ec9' into sync_cg_clif-2022-03-20 2022-03-20 16:55:21 +01:00
bjorn3
b5cbb87e62 Merge commit '35d9c6bf25' into sync_cg_clif-2022-02-23 2022-02-23 11:49:34 +01:00
bjorn3
a5a14258e5 Merge commit '40b00f4200' into sync_cg_clif-2021-12-30 2021-12-30 14:53:41 +01:00
bjorn3
799e067912 Merge commit '97e5045493' into sync_cg_clif-2021-12-20 2021-12-20 18:56:35 +01:00
Nicholas Nethercote
93511d926f Remove unnecessary sigils around Symbol::as_str() calls. 2021-12-15 17:32:14 +11:00
Camille GILLOT
7879119e6a Make hash_result an Option. 2021-10-20 18:29:18 +02:00
Camille GILLOT
04f3839596 Move EncodedMetadata to rustc_metadata. 2021-09-30 19:41:32 +02:00
bjorn3
5d3b8e7c1b Merge commit '61667dedf5' into sync_cg_clif-2021-09-19 2021-09-19 13:56:58 +02:00