diff --git a/bolt/lib/Core/BinaryFunctionProfile.cpp b/bolt/lib/Core/BinaryFunctionProfile.cpp --- a/bolt/lib/Core/BinaryFunctionProfile.cpp +++ b/bolt/lib/Core/BinaryFunctionProfile.cpp @@ -38,6 +38,10 @@ clEnumValN(ICP_ALL, "all", "perform ICP on calls and jump tables")), cl::ZeroOrMore, cl::cat(BoltOptCategory)); +static cl::alias ICPShort("icp", + cl::desc("Alias for --indirect-call-promotion"), + cl::aliasopt(ICP)); + extern cl::opt JumpTables; static cl::opt FixFuncCounts( diff --git a/bolt/lib/Passes/IndirectCallPromotion.cpp b/bolt/lib/Passes/IndirectCallPromotion.cpp --- a/bolt/lib/Passes/IndirectCallPromotion.cpp +++ b/bolt/lib/Passes/IndirectCallPromotion.cpp @@ -65,6 +65,11 @@ "indirect call"), cl::init(0), cl::cat(BoltOptCategory)); +static cl::alias ICPMispredictThresholdShort( + "icp-mp-threshold", + cl::desc("alias for --indirect-call-promotion-mispredict-threshold"), + cl::aliasopt(ICPMispredictThreshold)); + static cl::opt ICPUseMispredicts( "indirect-call-promotion-use-mispredicts", cl::desc("use misprediction frequency for determining whether or not ICP " @@ -73,24 +78,44 @@ "by this heuristic"), cl::cat(BoltOptCategory)); +static cl::alias ICPUseMispredictsShort( + "icp-use-mp", + cl::desc("alias for --indirect-call-promotion-use-mispredicts"), + cl::aliasopt(ICPUseMispredicts)); + static cl::opt 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 + ICPTopNShort("icp-topn", + cl::desc("alias for --indirect-call-promotion-topn"), + cl::aliasopt(ICPTopN)); + static cl::opt 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 ICPCallsTopNShort( + "icp-calls-topn", + cl::desc("alias for --indirect-call-promotion-calls-topn"), + cl::aliasopt(ICPCallsTopN)); + static cl::opt 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 ICPJumpTablesTopNShort( + "icp-jt-topn", + cl::desc("alias for --indirect-call-promotion-jump-tables-topn"), + cl::aliasopt(ICPJumpTablesTopN)); + static cl::opt EliminateLoads( "icp-eliminate-loads", cl::desc("enable load elimination using memory profiling data when " @@ -120,6 +145,11 @@ "for jump tables, optimize indirect jmp targets instead of indices"), cl::Hidden, cl::cat(BoltOptCategory)); +static cl::alias + ICPJumpTablesByTargetShort("icp-jt-targets", + cl::desc("alias for --icp-jump-tables-targets"), + cl::aliasopt(ICPJumpTablesByTarget)); + static cl::opt ICPPeelForInline( "icp-inline", cl::desc("only promote call targets eligible for inlining"), cl::Hidden, cl::cat(BoltOptCategory));