Skip to content

Commit 4e22925

Browse files
authored
Merge pull request #309 from nathanchance/adjust-deprecated-bolt-options
tc_build: llvm: Handle some more deprecated BOLT option values
2 parents defba3f + 77d1fe5 commit 4e22925

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

tc_build/llvm.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,27 @@ def bolt_clang(self):
131131
bolt_readme = Path(self.folders.source, 'bolt/README.md').read_text(encoding='utf-8')
132132
use_cache_plus = '-reorder-blocks=cache+' in bolt_readme
133133
use_sf_val = '-split-functions=2' in bolt_readme
134+
if (bolt_cmd_ref := Path(self.folders.source,
135+
'bolt/docs/CommandLineArgumentReference.md')).exists():
136+
bolt_cmd_ref_txt = bolt_cmd_ref.read_text(encoding='utf-8')
137+
# https://github.com/llvm/llvm-project/commit/3c357a49d61e4c81a1ac016502ee504521bc8dda
138+
icf_val = 'all' if '--icf=<value>' in bolt_cmd_ref_txt else '1'
139+
else:
140+
icf_val = '1'
141+
# https://github.com/llvm/llvm-project/commit/9058503d2690022642d952ee80ecde5ecdbc79ca
142+
if Path(self.folders.source, 'bolt/lib/Passes/HFSortPlus.cpp').exists():
143+
reorder_funcs_val = 'hfsort+'
144+
else:
145+
reorder_funcs_val = 'cdsort'
134146
clang_opt_cmd = [
135147
self.tools.llvm_bolt,
136148
f"--data={bolt_profile}",
137149
'--dyno-stats',
138-
'--icf=1',
150+
f"--icf={icf_val}",
139151
'-o',
140152
clang_bolt,
141153
f"--reorder-blocks={'cache+' if use_cache_plus else 'ext-tsp'}",
142-
'--reorder-functions=hfsort+',
154+
f"--reorder-functions={reorder_funcs_val}",
143155
'--split-all-cold',
144156
f"--split-functions{'=3' if use_sf_val else ''}",
145157
'--use-gnu-stack',

0 commit comments

Comments
 (0)