forked from OSchip/llvm-project
[BOLT][NFC] Warning for deprecated option '-reorder-blocks=cache+'
Emit warning when using deprecated option '-reorder-blocks=cache+'. Auto switch to option '-reorder-blocks=ext-tsp'. Test Plan: ``` ninja check-bolt ``` Added a new test cache+-deprecated.test. Run and verify that the upstream tests are passed. Reviewed By: rafauler, Amir, maksfb Differential Revision: https://reviews.llvm.org/D126722
This commit is contained in:
parent
814a0abcce
commit
5ac26156fe
|
@ -142,6 +142,8 @@ public:
|
|||
/// LT_OPTIMIZE_CACHE piggybacks on the idea from Ispike paper (CGO '04)
|
||||
/// that suggests putting frequently executed chains first in the layout.
|
||||
LT_OPTIMIZE_CACHE,
|
||||
// CACHE_PLUS and EXT_TSP are synonyms, emit warning of deprecation.
|
||||
LT_OPTIMIZE_CACHE_PLUS,
|
||||
/// Block reordering guided by the extended TSP metric.
|
||||
LT_OPTIMIZE_EXT_TSP,
|
||||
/// Create clusters and use random order for them.
|
||||
|
|
|
@ -176,13 +176,21 @@ cl::opt<bolt::ReorderBasicBlocks::LayoutType> ReorderBlocks(
|
|||
clEnumValN(bolt::ReorderBasicBlocks::LT_OPTIMIZE_CACHE, "cache",
|
||||
"perform optimal layout prioritizing I-cache "
|
||||
"behavior"),
|
||||
clEnumValN(bolt::ReorderBasicBlocks::LT_OPTIMIZE_EXT_TSP, "cache+",
|
||||
clEnumValN(bolt::ReorderBasicBlocks::LT_OPTIMIZE_CACHE_PLUS, "cache+",
|
||||
"perform layout optimizing I-cache behavior"),
|
||||
clEnumValN(bolt::ReorderBasicBlocks::LT_OPTIMIZE_EXT_TSP, "ext-tsp",
|
||||
"perform layout optimizing I-cache behavior"),
|
||||
clEnumValN(bolt::ReorderBasicBlocks::LT_OPTIMIZE_SHUFFLE,
|
||||
"cluster-shuffle", "perform random layout of clusters")),
|
||||
cl::ZeroOrMore, cl::cat(BoltOptCategory));
|
||||
cl::ZeroOrMore, cl::cat(BoltOptCategory),
|
||||
cl::callback([](const bolt::ReorderBasicBlocks::LayoutType &option) {
|
||||
if (option == bolt::ReorderBasicBlocks::LT_OPTIMIZE_CACHE_PLUS) {
|
||||
WithColor::warning()
|
||||
<< "'-reorder-blocks=cache+' is deprecated, "
|
||||
<< "please use '-reorder-blocks=ext-tsp' instead\n";
|
||||
ReorderBlocks = bolt::ReorderBasicBlocks::LT_OPTIMIZE_EXT_TSP;
|
||||
}
|
||||
}));
|
||||
|
||||
static cl::opt<unsigned>
|
||||
ReportBadLayout("report-bad-layout",
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
REQUIRES: system-linux
|
||||
|
||||
RUN: %clangxx %p/Inputs/bolt_icf.cpp -g -Wl,-q -o %t.exe
|
||||
RUN: llvm-bolt %t.exe -reorder-blocks=cache+ -relocs -o %t 2>&1 | FileCheck %s
|
||||
|
||||
CHECK: '-reorder-blocks=cache+' is deprecated, please use '-reorder-blocks=ext-tsp' instead
|
Loading…
Reference in New Issue