[BOLT][NFC] Add aliases for ICP flags
authorAmir Ayupov <aaupov@fb.com>
Mon, 27 Jun 2022 17:29:10 +0000 (10:29 -0700)
committerAmir Ayupov <aaupov@fb.com>
Mon, 27 Jun 2022 17:29:26 +0000 (10:29 -0700)
- `indirect-call-promotion` -> `icp`
- `indirect-call-promotion-mispredict-threshold` -> `icp-mp-threshold`
- `indirect-call-promotion-use-mispredicts` -> `icp-use-mp`
- `indirect-call-promotion-topn` -> `icp-topn`
- `indirect-call-promotion-calls-topn` -> `icp-calls-topn`
- `indirect-call-promotion-jump-tables-topn` -> `icp-jt-topn`
- `icp-jump-table-targets` -> `icp-jt-targets`

This also fixes an inconsistency in ICP flag names that some start with
`indirect-call-promotion` while others start with `icp`.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D128375

bolt/lib/Core/BinaryFunctionProfile.cpp
bolt/lib/Passes/IndirectCallPromotion.cpp

index a8d36a93ce52a7ac6aed1e95393831eb181b1e45..ca9cf50799fd8cb0bc22bb2cbbac09f9130589e5 100644 (file)
@@ -38,6 +38,10 @@ cl::opt<IndirectCallPromotionType> ICP(
         clEnumValN(ICP_ALL, "all", "perform ICP on calls and jump tables")),
     cl::ZeroOrMore, cl::cat(BoltOptCategory));
 
+static cl::alias ICPAlias("icp",
+                          cl::desc("Alias for --indirect-call-promotion"),
+                          cl::aliasopt(ICP));
+
 extern cl::opt<JumpTableSupportLevel> JumpTables;
 
 static cl::opt<bool> FixFuncCounts(
index 09597c1d11a820b5e8f697286d5b6e2bb43b876d..4886cfec384532688d3f03fb31c0191d4541a9ce 100644 (file)
@@ -65,6 +65,11 @@ static cl::opt<unsigned> ICPMispredictThreshold(
              "indirect call"),
     cl::init(0), cl::cat(BoltOptCategory));
 
+static cl::alias ICPMispredictThresholdAlias(
+    "icp-mp-threshold",
+    cl::desc("alias for --indirect-call-promotion-mispredict-threshold"),
+    cl::aliasopt(ICPMispredictThreshold));
+
 static cl::opt<bool> ICPUseMispredicts(
     "indirect-call-promotion-use-mispredicts",
     cl::desc("use misprediction frequency for determining whether or not ICP "
@@ -73,24 +78,44 @@ static cl::opt<bool> ICPUseMispredicts(
              "by this heuristic"),
     cl::cat(BoltOptCategory));
 
+static cl::alias ICPUseMispredictsAlias(
+    "icp-use-mp",
+    cl::desc("alias for --indirect-call-promotion-use-mispredicts"),
+    cl::aliasopt(ICPUseMispredicts));
+
 static cl::opt<unsigned>
     ICPTopN("indirect-call-promotion-topn",
             cl::desc("limit number of targets to consider when doing indirect "
                      "call promotion. 0 = no limit"),
             cl::init(3), cl::cat(BoltOptCategory));
 
+static cl::alias
+    ICPTopNAlias("icp-topn",
+                 cl::desc("alias for --indirect-call-promotion-topn"),
+                 cl::aliasopt(ICPTopN));
+
 static cl::opt<unsigned> ICPCallsTopN(
     "indirect-call-promotion-calls-topn",
     cl::desc("limit number of targets to consider when doing indirect "
              "call promotion on calls. 0 = no limit"),
     cl::init(0), cl::cat(BoltOptCategory));
 
+static cl::alias ICPCallsTopNAlias(
+    "icp-calls-topn",
+    cl::desc("alias for --indirect-call-promotion-calls-topn"),
+    cl::aliasopt(ICPCallsTopN));
+
 static cl::opt<unsigned> ICPJumpTablesTopN(
     "indirect-call-promotion-jump-tables-topn",
     cl::desc("limit number of targets to consider when doing indirect "
              "call promotion on jump tables. 0 = no limit"),
     cl::init(0), cl::cat(BoltOptCategory));
 
+static cl::alias ICPJumpTablesTopNAlias(
+    "icp-jt-topn",
+    cl::desc("alias for --indirect-call-promotion-jump-tables-topn"),
+    cl::aliasopt(ICPJumpTablesTopN));
+
 static cl::opt<bool> EliminateLoads(
     "icp-eliminate-loads",
     cl::desc("enable load elimination using memory profiling data when "
@@ -120,6 +145,11 @@ static cl::opt<bool> ICPJumpTablesByTarget(
         "for jump tables, optimize indirect jmp targets instead of indices"),
     cl::Hidden, cl::cat(BoltOptCategory));
 
+static cl::alias
+    ICPJumpTablesByTargetAlias("icp-jt-targets",
+                               cl::desc("alias for --icp-jump-tables-targets"),
+                               cl::aliasopt(ICPJumpTablesByTarget));
+
 static cl::opt<bool> ICPPeelForInline(
     "icp-inline", cl::desc("only promote call targets eligible for inlining"),
     cl::Hidden, cl::cat(BoltOptCategory));