forked from OSchip/llvm-project
Mark all library options as hidden.
These command line options are not intended for public use, and often don't even make sense in the context of a particular tool anyway. About 90% of them are already hidden, but when people add new options they forget to hide them, so if you were to make a brand new tool today, link against one of LLVM's libraries, and run tool -help you would get a bunch of junk that doesn't make sense for the tool you're writing. This patch hides these options. The real solution is to not have libraries defining command line options, but that's a much larger effort and not something I'm prepared to take on. Differential Revision: https://reviews.llvm.org/D40674 llvm-svn: 319505
This commit is contained in:
parent
888a428292
commit
8065f0b975
|
@ -61,7 +61,7 @@ using namespace clang;
|
|||
using namespace CodeGen;
|
||||
|
||||
static llvm::cl::opt<bool> LimitedCoverage(
|
||||
"limited-coverage-experimental", llvm::cl::ZeroOrMore,
|
||||
"limited-coverage-experimental", llvm::cl::ZeroOrMore, llvm::cl::Hidden,
|
||||
llvm::cl::desc("Emit limited coverage mapping information (experimental)"),
|
||||
llvm::cl::init(false));
|
||||
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/MD5.h"
|
||||
|
||||
static llvm::cl::opt<bool> EnableValueProfiling(
|
||||
"enable-value-profiling", llvm::cl::ZeroOrMore,
|
||||
llvm::cl::desc("Enable value profiling"), llvm::cl::init(false));
|
||||
static llvm::cl::opt<bool>
|
||||
EnableValueProfiling("enable-value-profiling", llvm::cl::ZeroOrMore,
|
||||
llvm::cl::desc("Enable value profiling"),
|
||||
llvm::cl::Hidden, llvm::cl::init(false));
|
||||
|
||||
using namespace clang;
|
||||
using namespace CodeGen;
|
||||
|
|
|
@ -47,7 +47,7 @@ bool llvm::VerifyLoopInfo = false;
|
|||
#endif
|
||||
static cl::opt<bool, true>
|
||||
VerifyLoopInfoX("verify-loop-info", cl::location(VerifyLoopInfo),
|
||||
cl::desc("Verify loop info (time consuming)"));
|
||||
cl::Hidden, cl::desc("Verify loop info (time consuming)"));
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Loop implementation
|
||||
|
|
|
@ -21,8 +21,6 @@ using namespace llvm::objcarc;
|
|||
|
||||
/// \brief A handy option to enable/disable all ARC Optimizations.
|
||||
bool llvm::objcarc::EnableARCOpts;
|
||||
static cl::opt<bool, true>
|
||||
EnableARCOptimizations("enable-objc-arc-opts",
|
||||
cl::desc("enable/disable all ARC Optimizations"),
|
||||
cl::location(EnableARCOpts),
|
||||
cl::init(true));
|
||||
static cl::opt<bool, true> EnableARCOptimizations(
|
||||
"enable-objc-arc-opts", cl::desc("enable/disable all ARC Optimizations"),
|
||||
cl::location(EnableARCOpts), cl::init(true), cl::Hidden);
|
||||
|
|
|
@ -153,11 +153,11 @@ MaxBruteForceIterations("scalar-evolution-max-iterations", cl::ReallyHidden,
|
|||
cl::init(100));
|
||||
|
||||
// FIXME: Enable this with EXPENSIVE_CHECKS when the test suite is clean.
|
||||
static cl::opt<bool> VerifySCEV(
|
||||
"verify-scev", cl::Hidden,
|
||||
cl::desc("Verify ScalarEvolution's backedge taken counts (slow)"));
|
||||
static cl::opt<bool>
|
||||
VerifySCEV("verify-scev",
|
||||
cl::desc("Verify ScalarEvolution's backedge taken counts (slow)"));
|
||||
static cl::opt<bool>
|
||||
VerifySCEVMap("verify-scev-maps",
|
||||
VerifySCEVMap("verify-scev-maps", cl::Hidden,
|
||||
cl::desc("Verify no dangling value in ScalarEvolution's "
|
||||
"ExprValueMap (slow)"));
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ using namespace llvm;
|
|||
// can also be achieved by stripping the associated metadata tags from IR, but
|
||||
// this option is sometimes more convenient.
|
||||
static cl::opt<bool> EnableScopedNoAlias("enable-scoped-noalias",
|
||||
cl::init(true));
|
||||
cl::init(true), cl::Hidden);
|
||||
|
||||
namespace {
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ using namespace llvm;
|
|||
// A handy option for disabling TBAA functionality. The same effect can also be
|
||||
// achieved by stripping the !tbaa tags from IR, but this option is sometimes
|
||||
// more convenient.
|
||||
static cl::opt<bool> EnableTBAA("enable-tbaa", cl::init(true));
|
||||
static cl::opt<bool> EnableTBAA("enable-tbaa", cl::init(true), cl::Hidden);
|
||||
|
||||
namespace {
|
||||
|
||||
|
|
|
@ -63,13 +63,13 @@ using namespace llvm;
|
|||
|
||||
static cl::opt<int> PageSize("imp-null-check-page-size",
|
||||
cl::desc("The page size of the target in bytes"),
|
||||
cl::init(4096));
|
||||
cl::init(4096), cl::Hidden);
|
||||
|
||||
static cl::opt<unsigned> MaxInstsToConsider(
|
||||
"imp-null-max-insts-to-consider",
|
||||
cl::desc("The max number of instructions to consider hoisting loads over "
|
||||
"(the algorithm is quadratic over this number)"),
|
||||
cl::init(8));
|
||||
cl::Hidden, cl::init(8));
|
||||
|
||||
#define DEBUG_TYPE "implicit-null-checks"
|
||||
|
||||
|
|
|
@ -75,7 +75,8 @@
|
|||
|
||||
using namespace llvm;
|
||||
|
||||
static cl::opt<bool> SimplifyMIR("simplify-mir",
|
||||
static cl::opt<bool> SimplifyMIR(
|
||||
"simplify-mir", cl::Hidden,
|
||||
cl::desc("Leave out unnecessary information when printing MIR"));
|
||||
|
||||
namespace {
|
||||
|
|
|
@ -26,7 +26,7 @@ static bool VerifyMachineDomInfo = true;
|
|||
static bool VerifyMachineDomInfo = false;
|
||||
#endif
|
||||
static cl::opt<bool, true> VerifyMachineDomInfoX(
|
||||
"verify-machine-dom-info", cl::location(VerifyMachineDomInfo),
|
||||
"verify-machine-dom-info", cl::location(VerifyMachineDomInfo), cl::Hidden,
|
||||
cl::desc("Verify machine dominator info (time consuming)"));
|
||||
|
||||
namespace llvm {
|
||||
|
|
|
@ -40,8 +40,8 @@ STATISTIC(NumNewQueued , "Number of new live ranges queued");
|
|||
// Temporary verification option until we can put verification inside
|
||||
// MachineVerifier.
|
||||
static cl::opt<bool, true>
|
||||
VerifyRegAlloc("verify-regalloc", cl::location(RegAllocBase::VerifyEnabled),
|
||||
cl::desc("Verify during register allocation"));
|
||||
VerifyRegAlloc("verify-regalloc", cl::location(RegAllocBase::VerifyEnabled),
|
||||
cl::Hidden, cl::desc("Verify during register allocation"));
|
||||
|
||||
const char RegAllocBase::TimerGroupName[] = "regalloc";
|
||||
const char RegAllocBase::TimerGroupDescription[] = "Register Allocation";
|
||||
|
|
|
@ -105,10 +105,11 @@ static cl::opt<unsigned> LastChanceRecoloringMaxInterference(
|
|||
" interference at a time"),
|
||||
cl::init(8));
|
||||
|
||||
static cl::opt<bool>
|
||||
ExhaustiveSearch("exhaustive-register-search", cl::NotHidden,
|
||||
cl::desc("Exhaustive Search for registers bypassing the depth "
|
||||
"and interference cutoffs of last chance recoloring"));
|
||||
static cl::opt<bool> ExhaustiveSearch(
|
||||
"exhaustive-register-search", cl::NotHidden,
|
||||
cl::desc("Exhaustive Search for registers bypassing the depth "
|
||||
"and interference cutoffs of last chance recoloring"),
|
||||
cl::Hidden);
|
||||
|
||||
static cl::opt<bool> EnableLocalReassignment(
|
||||
"enable-local-reassign", cl::Hidden,
|
||||
|
|
|
@ -70,10 +70,9 @@ STATISTIC(NumInflated , "Number of register classes inflated");
|
|||
STATISTIC(NumLaneConflicts, "Number of dead lane conflicts tested");
|
||||
STATISTIC(NumLaneResolves, "Number of dead lane conflicts resolved");
|
||||
|
||||
static cl::opt<bool>
|
||||
EnableJoining("join-liveintervals",
|
||||
cl::desc("Coalesce copies (default=true)"),
|
||||
cl::init(true));
|
||||
static cl::opt<bool> EnableJoining("join-liveintervals",
|
||||
cl::desc("Coalesce copies (default=true)"),
|
||||
cl::init(true), cl::Hidden);
|
||||
|
||||
static cl::opt<bool> UseTerminalRule("terminal-rule",
|
||||
cl::desc("Apply the terminal rule"),
|
||||
|
|
|
@ -128,11 +128,11 @@ using namespace llvm;
|
|||
static unsigned LimitFloatPrecision;
|
||||
|
||||
static cl::opt<unsigned, true>
|
||||
LimitFPPrecision("limit-float-precision",
|
||||
cl::desc("Generate low-precision inline sequences "
|
||||
"for some float libcalls"),
|
||||
cl::location(LimitFloatPrecision),
|
||||
cl::init(0));
|
||||
LimitFPPrecision("limit-float-precision",
|
||||
cl::desc("Generate low-precision inline sequences "
|
||||
"for some float libcalls"),
|
||||
cl::location(LimitFloatPrecision), cl::Hidden,
|
||||
cl::init(0));
|
||||
|
||||
static cl::opt<unsigned> SwitchPeelThreshold(
|
||||
"switch-peel-threshold", cl::Hidden, cl::init(66),
|
||||
|
|
|
@ -41,7 +41,7 @@ using namespace llvm;
|
|||
#define DEBUG_TYPE "stackmaps"
|
||||
|
||||
static cl::opt<int> StackMapVersion(
|
||||
"stackmap-version", cl::init(3),
|
||||
"stackmap-version", cl::init(3), cl::Hidden,
|
||||
cl::desc("Specify the stackmap encoding version (default = 3)"));
|
||||
|
||||
const char *StackMaps::WSMP = "Stack Maps: ";
|
||||
|
|
|
@ -93,11 +93,11 @@ static cl::opt<bool> DisablePartialLibcallInlining("disable-partial-libcall-inli
|
|||
static cl::opt<bool> EnableImplicitNullChecks(
|
||||
"enable-implicit-null-checks",
|
||||
cl::desc("Fold null checks into faulting memory operations"),
|
||||
cl::init(false));
|
||||
static cl::opt<bool> EnableMergeICmps(
|
||||
"enable-mergeicmps",
|
||||
cl::desc("Merge ICmp chains into a single memcmp"),
|
||||
cl::init(false));
|
||||
cl::init(false), cl::Hidden);
|
||||
static cl::opt<bool>
|
||||
EnableMergeICmps("enable-mergeicmps",
|
||||
cl::desc("Merge ICmp chains into a single memcmp"),
|
||||
cl::init(false), cl::Hidden);
|
||||
static cl::opt<bool> PrintLSR("print-lsr-output", cl::Hidden,
|
||||
cl::desc("Print LLVM IR produced by the loop-reduce pass"));
|
||||
static cl::opt<bool> PrintISelInput("print-isel-input", cl::Hidden,
|
||||
|
@ -127,10 +127,9 @@ static cl::opt<cl::boolOrDefault>
|
|||
EnableGlobalISel("global-isel", cl::Hidden,
|
||||
cl::desc("Enable the \"global\" instruction selector"));
|
||||
|
||||
static cl::opt<std::string>
|
||||
PrintMachineInstrs("print-machineinstrs", cl::ValueOptional,
|
||||
cl::desc("Print machine instrs"),
|
||||
cl::value_desc("pass-name"), cl::init("option-unspecified"));
|
||||
static cl::opt<std::string> PrintMachineInstrs(
|
||||
"print-machineinstrs", cl::ValueOptional, cl::desc("Print machine instrs"),
|
||||
cl::value_desc("pass-name"), cl::init("option-unspecified"), cl::Hidden);
|
||||
|
||||
static cl::opt<int> EnableGlobalISelAbort(
|
||||
"global-isel-abort", cl::Hidden,
|
||||
|
@ -176,22 +175,22 @@ const char *StopBeforeOptName = "stop-before";
|
|||
static cl::opt<std::string>
|
||||
StartAfterOpt(StringRef(StartAfterOptName),
|
||||
cl::desc("Resume compilation after a specific pass"),
|
||||
cl::value_desc("pass-name"), cl::init(""));
|
||||
cl::value_desc("pass-name"), cl::init(""), cl::Hidden);
|
||||
|
||||
static cl::opt<std::string>
|
||||
StartBeforeOpt(StringRef(StartBeforeOptName),
|
||||
cl::desc("Resume compilation before a specific pass"),
|
||||
cl::value_desc("pass-name"), cl::init(""));
|
||||
cl::value_desc("pass-name"), cl::init(""), cl::Hidden);
|
||||
|
||||
static cl::opt<std::string>
|
||||
StopAfterOpt(StringRef(StopAfterOptName),
|
||||
cl::desc("Stop compilation after a specific pass"),
|
||||
cl::value_desc("pass-name"), cl::init(""));
|
||||
cl::value_desc("pass-name"), cl::init(""), cl::Hidden);
|
||||
|
||||
static cl::opt<std::string>
|
||||
StopBeforeOpt(StringRef(StopBeforeOptName),
|
||||
cl::desc("Stop compilation before a specific pass"),
|
||||
cl::value_desc("pass-name"), cl::init(""));
|
||||
cl::value_desc("pass-name"), cl::init(""), cl::Hidden);
|
||||
|
||||
/// Allow standard passes to be disabled by command line options. This supports
|
||||
/// simple binary flags that either suppress the pass or do nothing.
|
||||
|
@ -767,10 +766,9 @@ bool TargetPassConfig::addISelPasses() {
|
|||
/// -regalloc=... command line option.
|
||||
static FunctionPass *useDefaultRegisterAllocator() { return nullptr; }
|
||||
static cl::opt<RegisterRegAlloc::FunctionPassCtor, false,
|
||||
RegisterPassParser<RegisterRegAlloc> >
|
||||
RegAlloc("regalloc",
|
||||
cl::init(&useDefaultRegisterAllocator),
|
||||
cl::desc("Register allocator to use"));
|
||||
RegisterPassParser<RegisterRegAlloc>>
|
||||
RegAlloc("regalloc", cl::Hidden, cl::init(&useDefaultRegisterAllocator),
|
||||
cl::desc("Register allocator to use"));
|
||||
|
||||
/// Add the complete set of target-independent postISel code generator passes.
|
||||
///
|
||||
|
|
|
@ -27,8 +27,8 @@ using namespace llvm::dwarf;
|
|||
|
||||
cl::opt<bool>
|
||||
UseDbgAddr("use-dbg-addr",
|
||||
llvm::cl::desc("Use llvm.dbg.addr for all local variables"),
|
||||
cl::init(false));
|
||||
llvm::cl::desc("Use llvm.dbg.addr for all local variables"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
DIBuilder::DIBuilder(Module &m, bool AllowUnresolvedNodes)
|
||||
: M(m), VMContext(M.getContext()), CUNode(nullptr),
|
||||
|
|
|
@ -33,9 +33,9 @@ bool llvm::VerifyDomInfo = true;
|
|||
#else
|
||||
bool llvm::VerifyDomInfo = false;
|
||||
#endif
|
||||
static cl::opt<bool,true>
|
||||
VerifyDomInfoX("verify-dom-info", cl::location(VerifyDomInfo),
|
||||
cl::desc("Verify dominator info (time consuming)"));
|
||||
static cl::opt<bool, true>
|
||||
VerifyDomInfoX("verify-dom-info", cl::location(VerifyDomInfo), cl::Hidden,
|
||||
cl::desc("Verify dominator info (time consuming)"));
|
||||
|
||||
bool BasicBlockEdge::isSingleEdge() const {
|
||||
const TerminatorInst *TI = Start->getTerminator();
|
||||
|
|
|
@ -75,21 +75,19 @@ PrintAfter("print-after",
|
|||
llvm::cl::desc("Print IR after specified passes"),
|
||||
cl::Hidden);
|
||||
|
||||
static cl::opt<bool>
|
||||
PrintBeforeAll("print-before-all",
|
||||
llvm::cl::desc("Print IR before each pass"),
|
||||
cl::init(false));
|
||||
static cl::opt<bool>
|
||||
PrintAfterAll("print-after-all",
|
||||
llvm::cl::desc("Print IR after each pass"),
|
||||
cl::init(false));
|
||||
static cl::opt<bool> PrintBeforeAll("print-before-all",
|
||||
llvm::cl::desc("Print IR before each pass"),
|
||||
cl::init(false), cl::Hidden);
|
||||
static cl::opt<bool> PrintAfterAll("print-after-all",
|
||||
llvm::cl::desc("Print IR after each pass"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
static cl::list<std::string>
|
||||
PrintFuncsList("filter-print-funcs", cl::value_desc("function names"),
|
||||
cl::desc("Only print IR for functions whose name "
|
||||
"match this for all print-[before|after][-all] "
|
||||
"options"),
|
||||
cl::CommaSeparated);
|
||||
cl::CommaSeparated, cl::Hidden);
|
||||
|
||||
/// This is a helper to determine whether to print IR before or
|
||||
/// after a pass.
|
||||
|
@ -1729,9 +1727,9 @@ bool PassManager::run(Module &M) {
|
|||
// TimingInfo implementation
|
||||
|
||||
bool llvm::TimePassesIsEnabled = false;
|
||||
static cl::opt<bool,true>
|
||||
EnableTiming("time-passes", cl::location(TimePassesIsEnabled),
|
||||
cl::desc("Time each pass, printing elapsed time for each on exit"));
|
||||
static cl::opt<bool, true> EnableTiming(
|
||||
"time-passes", cl::location(TimePassesIsEnabled), cl::Hidden,
|
||||
cl::desc("Time each pass, printing elapsed time for each on exit"));
|
||||
|
||||
// createTheTimeInfo - This method either initializes the TheTimeInfo pointer to
|
||||
// a non-null value (if the -time-passes option is enabled) or it leaves it
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
using namespace llvm;
|
||||
|
||||
static cl::opt<bool> StaticFuncFullModulePrefix(
|
||||
"static-func-full-module-prefix", cl::init(true),
|
||||
"static-func-full-module-prefix", cl::init(true), cl::Hidden,
|
||||
cl::desc("Use full module build paths in the profile counter names for "
|
||||
"static functions."));
|
||||
|
||||
|
@ -69,7 +69,7 @@ static cl::opt<bool> StaticFuncFullModulePrefix(
|
|||
// the source directory name not being stripped. A non-zero option value here
|
||||
// can potentially prevent some inter-module indirect-call-promotions.
|
||||
static cl::opt<unsigned> StaticFuncStripDirNamePrefix(
|
||||
"static-func-strip-dirname-prefix", cl::init(0),
|
||||
"static-func-strip-dirname-prefix", cl::init(0), cl::Hidden,
|
||||
cl::desc("Strip specified level of directory name from source path in "
|
||||
"the profile counter name for static functions."));
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@ using namespace llvm;
|
|||
//
|
||||
// Do not change to cl::opt<uint64_t> since this silently breaks argument parsing.
|
||||
static cl::opt<unsigned long long>
|
||||
Seed("rng-seed", cl::value_desc("seed"),
|
||||
cl::desc("Seed for the random number generator"), cl::init(0));
|
||||
Seed("rng-seed", cl::value_desc("seed"), cl::Hidden,
|
||||
cl::desc("Seed for the random number generator"), cl::init(0));
|
||||
|
||||
RandomNumberGenerator::RandomNumberGenerator(StringRef Salt) {
|
||||
DEBUG(
|
||||
|
|
|
@ -39,12 +39,14 @@ using namespace llvm;
|
|||
/// -stats - Command line option to cause transformations to emit stats about
|
||||
/// what they did.
|
||||
///
|
||||
static cl::opt<bool> Stats("stats",
|
||||
cl::desc("Enable statistics output from program (available with Asserts)"));
|
||||
|
||||
static cl::opt<bool> Stats(
|
||||
"stats",
|
||||
cl::desc("Enable statistics output from program (available with Asserts)"),
|
||||
cl::Hidden);
|
||||
|
||||
static cl::opt<bool> StatsAsJSON("stats-json",
|
||||
cl::desc("Display statistics as json data"));
|
||||
cl::desc("Display statistics as json data"),
|
||||
cl::Hidden);
|
||||
|
||||
static bool Enabled;
|
||||
static bool PrintOnExit;
|
||||
|
|
|
@ -27,11 +27,11 @@ enum AsmWriterFlavorTy {
|
|||
ATT = 0, Intel = 1
|
||||
};
|
||||
|
||||
static cl::opt<AsmWriterFlavorTy>
|
||||
AsmWriterFlavor("x86-asm-syntax", cl::init(ATT),
|
||||
cl::desc("Choose style of code to emit from X86 backend:"),
|
||||
cl::values(clEnumValN(ATT, "att", "Emit AT&T-style assembly"),
|
||||
clEnumValN(Intel, "intel", "Emit Intel-style assembly")));
|
||||
static cl::opt<AsmWriterFlavorTy> AsmWriterFlavor(
|
||||
"x86-asm-syntax", cl::init(ATT), cl::Hidden,
|
||||
cl::desc("Choose style of code to emit from X86 backend:"),
|
||||
cl::values(clEnumValN(ATT, "att", "Emit AT&T-style assembly"),
|
||||
clEnumValN(Intel, "intel", "Emit Intel-style assembly")));
|
||||
|
||||
static cl::opt<bool>
|
||||
MarkedJTDataRegions("mark-data-regions", cl::init(true),
|
||||
|
|
|
@ -47,8 +47,9 @@ using namespace llvm;
|
|||
#include "X86GenInstrInfo.inc"
|
||||
|
||||
static cl::opt<bool>
|
||||
NoFusing("disable-spill-fusing",
|
||||
cl::desc("Disable fusing of spill code into instructions"));
|
||||
NoFusing("disable-spill-fusing",
|
||||
cl::desc("Disable fusing of spill code into instructions"),
|
||||
cl::Hidden);
|
||||
static cl::opt<bool>
|
||||
PrintFailedFusing("print-failed-fuse-candidates",
|
||||
cl::desc("Print instructions that the allocator wants to"
|
||||
|
|
|
@ -56,9 +56,10 @@ static bool VerifyLoopLCSSA = true;
|
|||
#else
|
||||
static bool VerifyLoopLCSSA = false;
|
||||
#endif
|
||||
static cl::opt<bool,true>
|
||||
VerifyLoopLCSSAFlag("verify-loop-lcssa", cl::location(VerifyLoopLCSSA),
|
||||
cl::desc("Verify loop lcssa form (time consuming)"));
|
||||
static cl::opt<bool, true>
|
||||
VerifyLoopLCSSAFlag("verify-loop-lcssa", cl::location(VerifyLoopLCSSA),
|
||||
cl::Hidden,
|
||||
cl::desc("Verify loop lcssa form (time consuming)"));
|
||||
|
||||
/// Return true if the specified block is in the list.
|
||||
static bool isExitBlock(BasicBlock *BB,
|
||||
|
|
|
@ -90,7 +90,8 @@ using namespace SymbolRewriter;
|
|||
|
||||
static cl::list<std::string> RewriteMapFiles("rewrite-map-file",
|
||||
cl::desc("Symbol Rewrite Map"),
|
||||
cl::value_desc("filename"));
|
||||
cl::value_desc("filename"),
|
||||
cl::Hidden);
|
||||
|
||||
static void rewriteComdat(Module &M, GlobalObject *GO,
|
||||
const std::string &Source,
|
||||
|
|
Loading…
Reference in New Issue