Skip to content

Commit 9f07a7b

Browse files
authored
Rollup merge of rust-lang#120023 - klensy:tidy-alloc, r=Mark-Simulacrum
tidy: reduce allocs this reduces allocs in tidy from (dhat output) ``` ==31349== Total: 1,365,199,543 bytes in 4,774,213 blocks ==31349== At t-gmax: 10,975,708 bytes in 66,093 blocks ==31349== At t-end: 2,880,947 bytes in 12,332 blocks ==31349== Reads: 5,210,008,956 bytes ==31349== Writes: 1,280,920,127 bytes ``` to ``` ==66633== Total: 791,565,538 bytes in 3,503,144 blocks ==66633== At t-gmax: 10,914,511 bytes in 65,997 blocks ==66633== At t-end: 395,531 bytes in 941 blocks ==66633== Reads: 4,249,388,949 bytes ==66633== Writes: 814,119,580 bytes ``` by wrapping regex and updating `ignore` (effect probably not only from `ignore`, didn't measured)
2 parents bead151 + 3249174 commit 9f07a7b

File tree

4 files changed

+51
-44
lines changed

4 files changed

+51
-44
lines changed

Cargo.lock

+35-34
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ dependencies = [
5858

5959
[[package]]
6060
name = "aho-corasick"
61-
version = "1.0.2"
61+
version = "1.1.2"
6262
source = "registry+https://github.com/rust-lang/crates.io-index"
63-
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
63+
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
6464
dependencies = [
6565
"memchr",
6666
]
@@ -319,13 +319,12 @@ dependencies = [
319319

320320
[[package]]
321321
name = "bstr"
322-
version = "1.5.0"
322+
version = "1.9.0"
323323
source = "registry+https://github.com/rust-lang/crates.io-index"
324-
checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
324+
checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
325325
dependencies = [
326326
"memchr",
327-
"once_cell",
328-
"regex-automata 0.1.10",
327+
"regex-automata 0.4.3",
329328
"serde",
330329
]
331330

@@ -1598,15 +1597,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
15981597

15991598
[[package]]
16001599
name = "globset"
1601-
version = "0.4.10"
1600+
version = "0.4.14"
16021601
source = "registry+https://github.com/rust-lang/crates.io-index"
1603-
checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
1602+
checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
16041603
dependencies = [
1605-
"aho-corasick 0.7.20",
1604+
"aho-corasick 1.1.2",
16061605
"bstr",
1607-
"fnv",
16081606
"log",
1609-
"regex",
1607+
"regex-automata 0.4.3",
1608+
"regex-syntax 0.8.2",
16101609
]
16111610

16121611
[[package]]
@@ -1945,17 +1944,16 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
19451944

19461945
[[package]]
19471946
name = "ignore"
1948-
version = "0.4.20"
1947+
version = "0.4.22"
19491948
source = "registry+https://github.com/rust-lang/crates.io-index"
1950-
checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
1949+
checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
19511950
dependencies = [
1951+
"crossbeam-deque",
19521952
"globset",
1953-
"lazy_static",
19541953
"log",
19551954
"memchr",
1956-
"regex",
1955+
"regex-automata 0.4.3",
19571956
"same-file",
1958-
"thread_local",
19591957
"walkdir",
19601958
"winapi-util",
19611959
]
@@ -2275,9 +2273,9 @@ dependencies = [
22752273

22762274
[[package]]
22772275
name = "log"
2278-
version = "0.4.19"
2276+
version = "0.4.20"
22792277
source = "registry+https://github.com/rust-lang/crates.io-index"
2280-
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
2278+
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
22812279

22822280
[[package]]
22832281
name = "lzma-sys"
@@ -2379,9 +2377,9 @@ dependencies = [
23792377

23802378
[[package]]
23812379
name = "memchr"
2382-
version = "2.5.0"
2380+
version = "2.7.1"
23832381
source = "registry+https://github.com/rust-lang/crates.io-index"
2384-
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
2382+
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
23852383
dependencies = [
23862384
"compiler_builtins",
23872385
"rustc-std-workspace-core",
@@ -2491,9 +2489,6 @@ dependencies = [
24912489
[[package]]
24922490
name = "miropt-test-tools"
24932491
version = "0.1.0"
2494-
dependencies = [
2495-
"regex",
2496-
]
24972492

24982493
[[package]]
24992494
name = "native-tls"
@@ -3154,13 +3149,14 @@ dependencies = [
31543149

31553150
[[package]]
31563151
name = "regex"
3157-
version = "1.8.4"
3152+
version = "1.10.2"
31583153
source = "registry+https://github.com/rust-lang/crates.io-index"
3159-
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
3154+
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
31603155
dependencies = [
3161-
"aho-corasick 1.0.2",
3156+
"aho-corasick 1.1.2",
31623157
"memchr",
3163-
"regex-syntax 0.7.2",
3158+
"regex-automata 0.4.3",
3159+
"regex-syntax 0.8.2",
31643160
]
31653161

31663162
[[package]]
@@ -3182,16 +3178,21 @@ dependencies = [
31823178
]
31833179

31843180
[[package]]
3185-
name = "regex-syntax"
3186-
version = "0.6.29"
3181+
name = "regex-automata"
3182+
version = "0.4.3"
31873183
source = "registry+https://github.com/rust-lang/crates.io-index"
3188-
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
3184+
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
3185+
dependencies = [
3186+
"aho-corasick 1.1.2",
3187+
"memchr",
3188+
"regex-syntax 0.8.2",
3189+
]
31893190

31903191
[[package]]
31913192
name = "regex-syntax"
3192-
version = "0.7.2"
3193+
version = "0.6.29"
31933194
source = "registry+https://github.com/rust-lang/crates.io-index"
3194-
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
3195+
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
31953196

31963197
[[package]]
31973198
name = "regex-syntax"
@@ -5941,9 +5942,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
59415942

59425943
[[package]]
59435944
name = "walkdir"
5944-
version = "2.3.3"
5945+
version = "2.4.0"
59455946
source = "registry+https://github.com/rust-lang/crates.io-index"
5946-
checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
5947+
checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
59475948
dependencies = [
59485949
"same-file",
59495950
"winapi-util",

src/tools/miropt-test-tools/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ version = "0.1.0"
44
edition = "2021"
55

66
[dependencies]
7-
regex = "1.0"

src/tools/miropt-test-tools/src/lib.rs

+12-7
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,19 @@ pub fn files_for_miropt_test(
100100
} else {
101101
// Allow-list for file extensions that can be produced by MIR dumps.
102102
// Other extensions can be added here, as needed by new dump flags.
103-
let ext_re = regex::Regex::new(r#"(\.(mir|dot))$"#).unwrap();
104-
let cap = ext_re.captures_iter(test_name).next().unwrap_or_else(|| {
105-
panic!("in {testfile:?}:\nEMIT_MIR has an unrecognized extension: {test_name}")
106-
});
107-
let extension = cap.get(1).unwrap().as_str();
103+
static ALLOWED_EXT: &[&str] = &["mir", "dot"];
104+
let Some((test_name_wo_ext, test_name_ext)) = test_name.rsplit_once('.') else {
105+
panic!(
106+
"in {testfile:?}:\nEMIT_MIR has an unrecognized extension: {test_name}, expected one of {ALLOWED_EXT:?}"
107+
)
108+
};
109+
if !ALLOWED_EXT.contains(&test_name_ext) {
110+
panic!(
111+
"in {testfile:?}:\nEMIT_MIR has an unrecognized extension: {test_name}, expected one of {ALLOWED_EXT:?}"
112+
)
113+
}
108114

109-
expected_file =
110-
format!("{}{}{}", test_name.trim_end_matches(extension), suffix, extension,);
115+
expected_file = format!("{}{}.{}", test_name_wo_ext, suffix, test_name_ext);
111116
from_file = test_name.to_string();
112117
assert!(test_names.next().is_none(), "two mir pass names specified for MIR dump");
113118
to_file = None;

src/tools/tidy/src/style.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,10 @@ fn should_ignore(line: &str) -> bool {
127127
// Matches test annotations like `//~ ERROR text`.
128128
// This mirrors the regex in src/tools/compiletest/src/runtest.rs, please
129129
// update both if either are changed.
130-
let re = Regex::new("\\s*//(\\[.*\\])?~.*").unwrap();
131-
re.is_match(line) || ANNOTATIONS_TO_IGNORE.iter().any(|a| line.contains(a))
130+
lazy_static::lazy_static! {
131+
static ref ANNOTATION_RE: Regex = Regex::new("\\s*//(\\[.*\\])?~.*").unwrap();
132+
}
133+
ANNOTATION_RE.is_match(line) || ANNOTATIONS_TO_IGNORE.iter().any(|a| line.contains(a))
132134
}
133135

134136
/// Returns `true` if `line` is allowed to be longer than the normal limit.

0 commit comments

Comments
 (0)