[PATCH] D126722: [BOLT][NFC] Warning for deprecated option '-reorder-blocks=cache+'

Huan Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 31 14:51:19 PDT 2022


nhuhuan created this revision.
Herald added a reviewer: rafauler.
Herald added a subscriber: ayermolo.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added a project: All.
nhuhuan requested review of this revision.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D126722

Files:
  bolt/include/bolt/Passes/BinaryPasses.h
  bolt/lib/Passes/BinaryPasses.cpp


Index: bolt/lib/Passes/BinaryPasses.cpp
===================================================================
--- bolt/lib/Passes/BinaryPasses.cpp
+++ bolt/lib/Passes/BinaryPasses.cpp
@@ -176,13 +176,21 @@
         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([&](bolt::ReorderBasicBlocks::LayoutType& option) = {
+       if (option == bolt::ReorderBasicBlocks::LT_OPTIMIZE_CACHE_PLUS) {
+          option = bolt::ReorderBasicBlocks::LT_OPTIMIZE_EXT_TSP;
+	  WithColor::warning() << "option cache+ is deprecated, automatically"
+	                       << "switch to option ext-tsp.\n";
+       }
+    });
 
 static cl::opt<unsigned>
 ReportBadLayout("report-bad-layout",
Index: bolt/include/bolt/Passes/BinaryPasses.h
===================================================================
--- bolt/include/bolt/Passes/BinaryPasses.h
+++ bolt/include/bolt/Passes/BinaryPasses.h
@@ -142,6 +142,8 @@
     /// 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 warnings of depreciation.
+    LT_OPTIMIZE_CACHE_PLUS,
     /// Block reordering guided by the extended TSP metric.
     LT_OPTIMIZE_EXT_TSP,
     /// Create clusters and use random order for them.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126722.433199.patch
Type: text/x-patch
Size: 2074 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220531/c479512e/attachment.bin>


More information about the llvm-commits mailing list