[polly] 36c7d79 - Remove unneeded cl::ZeroOrMore for cl::opt options
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 4 00:10:47 PDT 2022
Author: Fangrui Song
Date: 2022-06-04T00:10:42-07:00
New Revision: 36c7d79dc4c114728b5f003bf48cd7a41bf932a4
URL: https://github.com/llvm/llvm-project/commit/36c7d79dc4c114728b5f003bf48cd7a41bf932a4
DIFF: https://github.com/llvm/llvm-project/commit/36c7d79dc4c114728b5f003bf48cd7a41bf932a4.diff
LOG: Remove unneeded cl::ZeroOrMore for cl::opt options
Similar to 557efc9a8b68628c2c944678c6471dac30ed9e8e.
This commit handles options where cl::ZeroOrMore is more than one line below
cl::opt.
Added:
Modified:
bolt/lib/Passes/IndirectCallPromotion.cpp
bolt/lib/Passes/TailDuplication.cpp
bolt/lib/Rewrite/BinaryPassManager.cpp
bolt/lib/Rewrite/RewriteInstance.cpp
bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
bolt/lib/Utils/CommandLineOpts.cpp
llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
llvm/lib/Analysis/InlineCost.cpp
llvm/lib/CodeGen/MachinePipeliner.cpp
llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
llvm/lib/Support/Debug.cpp
llvm/lib/Target/AArch64/AArch64StackTagging.cpp
llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
llvm/lib/Transforms/IPO/PartialInlining.cpp
llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
llvm/lib/Transforms/Scalar/LoopFuse.cpp
llvm/lib/Transforms/Utils/CodeLayout.cpp
llvm/tools/llc/llc.cpp
llvm/tools/llvm-cov/CodeCoverage.cpp
llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
llvm/tools/llvm-lto/llvm-lto.cpp
llvm/tools/llvm-lto2/llvm-lto2.cpp
llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
llvm/tools/llvm-profgen/llvm-profgen.cpp
polly/lib/Analysis/DependenceInfo.cpp
polly/lib/Analysis/PolyhedralInfo.cpp
polly/lib/Analysis/ScopBuilder.cpp
polly/lib/Analysis/ScopDetection.cpp
polly/lib/Analysis/ScopGraphPrinter.cpp
polly/lib/Analysis/ScopInfo.cpp
polly/lib/CodeGen/BlockGenerators.cpp
polly/lib/CodeGen/CodeGeneration.cpp
polly/lib/CodeGen/IslAst.cpp
polly/lib/CodeGen/IslNodeBuilder.cpp
polly/lib/CodeGen/ManagedMemoryRewrite.cpp
polly/lib/CodeGen/PPCGCodeGeneration.cpp
polly/lib/Support/RegisterPasses.cpp
polly/lib/Support/SCEVAffinator.cpp
polly/lib/Transform/Canonicalization.cpp
polly/lib/Transform/ManualOptimizer.cpp
polly/lib/Transform/MatmulOptimizer.cpp
polly/lib/Transform/ScheduleOptimizer.cpp
Removed:
################################################################################
diff --git a/bolt/lib/Passes/IndirectCallPromotion.cpp b/bolt/lib/Passes/IndirectCallPromotion.cpp
index efb74e8a57ab6..1ca29f4751078 100644
--- a/bolt/lib/Passes/IndirectCallPromotion.cpp
+++ b/bolt/lib/Passes/IndirectCallPromotion.cpp
@@ -50,7 +50,7 @@ static cl::opt<unsigned> ICPCallsRemainingPercentThreshold(
"icp-calls-remaining-percent-threshold",
cl::desc("The percentage threshold against remaining unpromoted indirect "
"call count for the promotion for calls"),
- cl::init(50), cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
+ cl::init(50), cl::Hidden, cl::cat(BoltOptCategory));
static cl::opt<unsigned> ICPCallsTotalPercentThreshold(
"icp-calls-total-percent-threshold",
@@ -63,7 +63,7 @@ static cl::opt<unsigned> ICPMispredictThreshold(
"indirect-call-promotion-mispredict-threshold",
cl::desc("misprediction threshold for skipping ICP on an "
"indirect call"),
- cl::init(0), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(0), cl::cat(BoltOptCategory));
static cl::opt<bool> ICPUseMispredicts(
"indirect-call-promotion-use-mispredicts",
@@ -77,31 +77,31 @@ 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::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(3), cl::cat(BoltOptCategory));
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::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(0), cl::cat(BoltOptCategory));
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::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(0), cl::cat(BoltOptCategory));
static cl::opt<bool> EliminateLoads(
"icp-eliminate-loads",
cl::desc("enable load elimination using memory profiling data when "
"performing ICP"),
- cl::init(true), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(true), cl::cat(BoltOptCategory));
static cl::opt<unsigned> ICPTopCallsites(
"icp-top-callsites",
cl::desc("optimize hottest calls until at least this percentage of all "
"indirect calls frequency is covered. 0 = all callsites"),
- cl::init(99), cl::Hidden, cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(99), cl::Hidden, cl::cat(BoltOptCategory));
static cl::list<std::string>
ICPFuncsList("icp-funcs", cl::CommaSeparated,
@@ -112,18 +112,17 @@ static cl::list<std::string>
static cl::opt<bool>
ICPOldCodeSequence("icp-old-code-sequence",
cl::desc("use old code sequence for promoted calls"),
- cl::init(false), cl::ZeroOrMore, cl::Hidden,
- cl::cat(BoltOptCategory));
+ cl::Hidden, cl::cat(BoltOptCategory));
static cl::opt<bool> ICPJumpTablesByTarget(
"icp-jump-tables-targets",
cl::desc(
"for jump tables, optimize indirect jmp targets instead of indices"),
- cl::init(false), cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
+ cl::Hidden, cl::cat(BoltOptCategory));
static cl::opt<bool> ICPPeelForInline(
"icp-inline", cl::desc("only promote call targets eligible for inlining"),
- cl::init(false), cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
+ cl::Hidden, cl::cat(BoltOptCategory));
} // namespace opts
diff --git a/bolt/lib/Passes/TailDuplication.cpp b/bolt/lib/Passes/TailDuplication.cpp
index c4062a7702d71..e86fe1ad07798 100644
--- a/bolt/lib/Passes/TailDuplication.cpp
+++ b/bolt/lib/Passes/TailDuplication.cpp
@@ -66,13 +66,13 @@ static cl::opt<bool> TailDuplicationConstCopyPropagation(
static cl::opt<unsigned> TailDuplicationMaxCacheDistance(
"tail-duplication-max-cache-distance",
cl::desc("The weight of backward jumps for ExtTSP value"), cl::init(256),
- cl::ReallyHidden, cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::ReallyHidden, cl::cat(BoltOptCategory));
static cl::opt<double> TailDuplicationCacheBackwardWeight(
"tail-duplication-cache-backward-weight",
cl::desc(
"The maximum distance (in bytes) of backward jumps for ExtTSP value"),
- cl::init(0.5), cl::ReallyHidden, cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(0.5), cl::ReallyHidden, cl::cat(BoltOptCategory));
} // namespace opts
diff --git a/bolt/lib/Rewrite/BinaryPassManager.cpp b/bolt/lib/Rewrite/BinaryPassManager.cpp
index 14741c467ed0e..5a758397b7729 100644
--- a/bolt/lib/Rewrite/BinaryPassManager.cpp
+++ b/bolt/lib/Rewrite/BinaryPassManager.cpp
@@ -55,9 +55,9 @@ DynoStatsAll("dyno-stats-all",
cl::ZeroOrMore, cl::Hidden, cl::cat(BoltCategory));
static cl::opt<bool>
-EliminateUnreachable("eliminate-unreachable",
- cl::desc("eliminate unreachable code"),
- cl::init(true), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ EliminateUnreachable("eliminate-unreachable",
+ cl::desc("eliminate unreachable code"), cl::init(true),
+ cl::cat(BoltOptCategory));
cl::opt<bool>
ICF("icf",
@@ -70,10 +70,8 @@ JTFootprintReductionFlag("jt-footprint-reduction",
"instructions at jump sites"),
cl::ZeroOrMore, cl::cat(BoltOptCategory));
-cl::opt<bool>
-NeverPrint("never-print",
- cl::desc("never print"),
- cl::init(false), cl::ZeroOrMore, cl::ReallyHidden, cl::cat(BoltOptCategory));
+cl::opt<bool> NeverPrint("never-print", cl::desc("never print"),
+ cl::ReallyHidden, cl::cat(BoltOptCategory));
cl::opt<bool>
PrintAfterBranchFixup("print-after-branch-fixup",
@@ -160,10 +158,10 @@ PrintReorderedFunctions("print-reordered-functions",
cl::desc("print functions after clustering"),
cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
-static cl::opt<bool>
-PrintRetpolineInsertion("print-retpoline-insertion",
- cl::desc("print functions after retpoline insertion pass"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltCategory));
+static cl::opt<bool> PrintRetpolineInsertion(
+ "print-retpoline-insertion",
+ cl::desc("print functions after retpoline insertion pass"),
+ cl::cat(BoltCategory));
static cl::opt<bool>
PrintSCTC("print-sctc",
@@ -181,29 +179,29 @@ PrintSplit("print-split",
cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
static cl::opt<bool>
-PrintStoke("print-stoke",
- cl::desc("print functions after stoke analysis"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ PrintStoke("print-stoke", cl::desc("print functions after stoke analysis"),
+ cl::cat(BoltOptCategory));
-static cl::opt<bool>
-PrintVeneerElimination("print-veneer-elimination",
- cl::desc("print functions after veneer elimination pass"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> PrintVeneerElimination(
+ "print-veneer-elimination",
+ cl::desc("print functions after veneer elimination pass"),
+ cl::cat(BoltOptCategory));
static cl::opt<bool>
PrintUCE("print-uce",
cl::desc("print functions after unreachable code elimination"),
cl::ZeroOrMore, cl::Hidden, cl::cat(BoltOptCategory));
-static cl::opt<bool>
-RegReAssign("reg-reassign",
- cl::desc("reassign registers so as to avoid using REX prefixes in hot code"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> RegReAssign(
+ "reg-reassign",
+ cl::desc(
+ "reassign registers so as to avoid using REX prefixes in hot code"),
+ cl::cat(BoltOptCategory));
-static cl::opt<bool>
-SimplifyConditionalTailCalls("simplify-conditional-tail-calls",
- cl::desc("simplify conditional tail calls by removing unnecessary jumps"),
- cl::init(true), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> SimplifyConditionalTailCalls(
+ "simplify-conditional-tail-calls",
+ cl::desc("simplify conditional tail calls by removing unnecessary jumps"),
+ cl::init(true), cl::cat(BoltOptCategory));
static cl::opt<bool>
SimplifyRODataLoads("simplify-rodata-loads",
@@ -218,25 +216,22 @@ SpecializeMemcpy1("memcpy1-spec",
cl::value_desc("func1,func2:cs1:cs2,func3:cs1,..."),
cl::ZeroOrMore, cl::cat(BoltOptCategory));
-static cl::opt<bool>
-Stoke("stoke",
- cl::desc("turn on the stoke analysis"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> Stoke("stoke", cl::desc("turn on the stoke analysis"),
+ cl::cat(BoltOptCategory));
-static cl::opt<bool>
-StringOps("inline-memcpy",
- cl::desc("inline memcpy using 'rep movsb' instruction (X86-only)"),
- cl::init(false), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> StringOps(
+ "inline-memcpy",
+ cl::desc("inline memcpy using 'rep movsb' instruction (X86-only)"),
+ cl::cat(BoltOptCategory));
-static cl::opt<bool>
-StripRepRet("strip-rep-ret",
- cl::desc("strip 'repz' prefix from 'repz retq' sequence (on by default)"),
- cl::init(true), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> StripRepRet(
+ "strip-rep-ret",
+ cl::desc("strip 'repz' prefix from 'repz retq' sequence (on by default)"),
+ cl::init(true), cl::cat(BoltOptCategory));
-static cl::opt<bool>
-VerifyCFG("verify-cfg",
- cl::desc("verify the CFG after every pass"),
- cl::init(false), cl::Hidden, cl::ZeroOrMore, cl::cat(BoltOptCategory));
+static cl::opt<bool> VerifyCFG("verify-cfg",
+ cl::desc("verify the CFG after every pass"),
+ cl::Hidden, cl::cat(BoltOptCategory));
static cl::opt<bool>
ThreeWayBranchFlag("three-way-branch",
diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index d19dc67c7694b..0f1d642aa1614 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -275,8 +275,8 @@ TrapOldCode("trap-old-code",
static cl::opt<std::string> DWPPathName("dwp",
cl::desc("Path and name to DWP file."),
- cl::Hidden, cl::ZeroOrMore,
- cl::init(""), cl::cat(BoltCategory));
+ cl::Hidden, cl::init(""),
+ cl::cat(BoltCategory));
static cl::opt<bool>
UseGnuStack("use-gnu-stack",
diff --git a/bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp b/bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
index d5a50239b1a8d..4acd6c992ab36 100644
--- a/bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
+++ b/bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
@@ -35,7 +35,7 @@ cl::opt<bool>
static cl::opt<std::string> RuntimeHugifyLib(
"runtime-hugify-lib",
- cl::desc("specify file name of the runtime hugify library"), cl::ZeroOrMore,
+ cl::desc("specify file name of the runtime hugify library"),
cl::init("libbolt_rt_hugify.a"), cl::cat(BoltOptCategory));
} // namespace opts
diff --git a/bolt/lib/Utils/CommandLineOpts.cpp b/bolt/lib/Utils/CommandLineOpts.cpp
index 7f968aa58a777..f7c1fa97d5d2a 100644
--- a/bolt/lib/Utils/CommandLineOpts.cpp
+++ b/bolt/lib/Utils/CommandLineOpts.cpp
@@ -50,7 +50,7 @@ AlignText("align-text",
cl::opt<unsigned> AlignFunctions(
"align-functions",
cl::desc("align functions at a given value (relocation mode)"),
- cl::init(64), cl::ZeroOrMore, cl::cat(BoltOptCategory));
+ cl::init(64), cl::cat(BoltOptCategory));
cl::opt<bool>
AggregateOnly("aggregate-only",
diff --git a/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp b/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
index 5b2a0b6300cfb..d5ef6e5ae88ee 100644
--- a/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
+++ b/llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
@@ -183,7 +183,7 @@ static cl::opt<std::string>
EntryPointName("entry", cl::desc("Symbol to call as main entry point"),
cl::init("entry"));
-static cl::list<std::string> InputObjects(cl::Positional, cl::ZeroOrMore,
+static cl::list<std::string> InputObjects(cl::Positional,
cl::desc("input objects"));
int main(int argc, char *argv[]) {
diff --git a/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp b/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
index ca90882d03b03..ebfa1c8fc08e1 100644
--- a/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
+++ b/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
@@ -34,7 +34,7 @@ static cl::opt<unsigned> ICPRemainingPercentThreshold(
// total call count) for it to be considered as the promotion target.
static cl::opt<unsigned>
ICPTotalPercentThreshold("icp-total-percent-threshold", cl::init(5),
- cl::Hidden, cl::ZeroOrMore,
+ cl::Hidden,
cl::desc("The percentage threshold against total "
"count for the promotion"));
diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index 76523ef520408..33cff7cac9122 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -78,7 +78,7 @@ static cl::opt<int> HintThreshold(
static cl::opt<int>
ColdCallSiteThreshold("inline-cold-callsite-threshold", cl::Hidden,
- cl::init(45), cl::ZeroOrMore,
+ cl::init(45),
cl::desc("Threshold for inlining cold callsites"));
static cl::opt<bool> InlineEnableCostBenefitAnalysis(
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp
index 15d162107b4d5..6400a8845ef6c 100644
--- a/llvm/lib/CodeGen/MachinePipeliner.cpp
+++ b/llvm/lib/CodeGen/MachinePipeliner.cpp
@@ -169,10 +169,9 @@ static cl::opt<bool> ExperimentalCodeGen(
namespace llvm {
// A command line option to enable the CopyToPhi DAG mutation.
-cl::opt<bool>
- SwpEnableCopyToPhi("pipeliner-enable-copytophi", cl::ReallyHidden,
- cl::init(true), cl::ZeroOrMore,
- cl::desc("Enable CopyToPhi DAG Mutation"));
+cl::opt<bool> SwpEnableCopyToPhi("pipeliner-enable-copytophi", cl::ReallyHidden,
+ cl::init(true),
+ cl::desc("Enable CopyToPhi DAG Mutation"));
} // end namespace llvm
diff --git a/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp b/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
index e5deb551080d4..755e25b355a8f 100644
--- a/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
+++ b/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
@@ -41,14 +41,14 @@ cl::opt<int> ProfileSummaryCutoffCold(
cl::opt<unsigned> ProfileSummaryHugeWorkingSetSizeThreshold(
"profile-summary-huge-working-set-size-threshold", cl::Hidden,
- cl::init(15000), cl::ZeroOrMore,
+ cl::init(15000),
cl::desc("The code working set size is considered huge if the number of"
" blocks required to reach the -profile-summary-cutoff-hot"
" percentile exceeds this count."));
cl::opt<unsigned> ProfileSummaryLargeWorkingSetSizeThreshold(
"profile-summary-large-working-set-size-threshold", cl::Hidden,
- cl::init(12500), cl::ZeroOrMore,
+ cl::init(12500),
cl::desc("The code working set size is considered large if the number of"
" blocks required to reach the -profile-summary-cutoff-hot"
" percentile exceeds this count."));
diff --git a/llvm/lib/Support/Debug.cpp b/llvm/lib/Support/Debug.cpp
index 5470d931b00be..98a9ac4722b50 100644
--- a/llvm/lib/Support/Debug.cpp
+++ b/llvm/lib/Support/Debug.cpp
@@ -132,7 +132,7 @@ struct CreateDebugOnly {
"debug-only",
cl::desc("Enable a specific type of debug output (comma separated list "
"of types)"),
- cl::Hidden, cl::ZeroOrMore, cl::value_desc("debug string"),
+ cl::Hidden, cl::value_desc("debug string"),
cl::location(DebugOnlyOptLoc), cl::ValueRequired);
}
};
diff --git a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
index ba75071d0a629..89c0e428ac5e2 100644
--- a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+++ b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
@@ -70,7 +70,7 @@ static cl::opt<bool> ClMergeInit(
static cl::opt<bool>
ClUseStackSafety("stack-tagging-use-stack-safety", cl::Hidden,
- cl::init(true), cl::ZeroOrMore,
+ cl::init(true),
cl::desc("Use Stack Safety analysis results"));
static cl::opt<unsigned> ClScanLimit("stack-tagging-merge-init-scan-limit",
diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
index cb69aaa4488ee..8893ffe7fb2ac 100644
--- a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
@@ -156,17 +156,19 @@ static cl::opt<unsigned> NumberScavengerSlots("number-scavenger-slots",
cl::Hidden, cl::desc("Set the number of scavenger slots"), cl::init(2),
cl::ZeroOrMore);
-static cl::opt<int> SpillFuncThreshold("spill-func-threshold",
- cl::Hidden, cl::desc("Specify O2(not Os) spill func threshold"),
- cl::init(6), cl::ZeroOrMore);
+static cl::opt<int>
+ SpillFuncThreshold("spill-func-threshold", cl::Hidden,
+ cl::desc("Specify O2(not Os) spill func threshold"),
+ cl::init(6));
-static cl::opt<int> SpillFuncThresholdOs("spill-func-threshold-Os",
- cl::Hidden, cl::desc("Specify Os spill func threshold"),
- cl::init(1), cl::ZeroOrMore);
+static cl::opt<int>
+ SpillFuncThresholdOs("spill-func-threshold-Os", cl::Hidden,
+ cl::desc("Specify Os spill func threshold"),
+ cl::init(1));
-static cl::opt<bool> EnableStackOVFSanitizer("enable-stackovf-sanitizer",
- cl::Hidden, cl::desc("Enable runtime checks for stack overflow."),
- cl::init(false), cl::ZeroOrMore);
+static cl::opt<bool> EnableStackOVFSanitizer(
+ "enable-stackovf-sanitizer", cl::Hidden,
+ cl::desc("Enable runtime checks for stack overflow."), cl::init(false));
static cl::opt<bool>
EnableShrinkWrapping("hexagon-shrink-frame", cl::init(true), cl::Hidden,
@@ -177,9 +179,10 @@ static cl::opt<unsigned>
cl::init(std::numeric_limits<unsigned>::max()), cl::Hidden,
cl::desc("Max count of stack frame shrink-wraps"));
-static cl::opt<bool> EnableSaveRestoreLong("enable-save-restore-long",
- cl::Hidden, cl::desc("Enable long calls for save-restore stubs."),
- cl::init(false), cl::ZeroOrMore);
+static cl::opt<bool>
+ EnableSaveRestoreLong("enable-save-restore-long", cl::Hidden,
+ cl::desc("Enable long calls for save-restore stubs."),
+ cl::init(false));
static cl::opt<bool> EliminateFramePointer("hexagon-fp-elim", cl::init(true),
cl::Hidden, cl::desc("Refrain from using FP whenever possible"));
diff --git a/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp b/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
index b2ad75773083a..4a801e5560e27 100644
--- a/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
@@ -65,7 +65,7 @@ static cl::opt<unsigned> MaxIFMSize("insert-max-ifmap", cl::init(1024),
cl::Hidden,
cl::desc("Maximum size of IFMap"));
-static cl::opt<bool> OptTiming("insert-timing", cl::Hidden, cl::ZeroOrMore,
+static cl::opt<bool> OptTiming("insert-timing", cl::Hidden,
cl::desc("Enable timing of insert generation"));
static cl::opt<bool>
OptTimingDetail("insert-timing-detail", cl::Hidden,
diff --git a/llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp b/llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
index 94b878e21f4d5..2b004a9c5ad4a 100644
--- a/llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
@@ -53,10 +53,10 @@ using namespace llvm;
STATISTIC(HexagonNumVectorLoopCarriedReuse,
"Number of values that were reused from a previous iteration.");
-static cl::opt<int> HexagonVLCRIterationLim("hexagon-vlcr-iteration-lim",
- cl::Hidden,
+static cl::opt<int> HexagonVLCRIterationLim(
+ "hexagon-vlcr-iteration-lim", cl::Hidden,
cl::desc("Maximum distance of loop carried dependences that are handled"),
- cl::init(2), cl::ZeroOrMore);
+ cl::init(2));
namespace llvm {
diff --git a/llvm/lib/Transforms/IPO/PartialInlining.cpp b/llvm/lib/Transforms/IPO/PartialInlining.cpp
index c0e30f06e2b65..bf7dd09814803 100644
--- a/llvm/lib/Transforms/IPO/PartialInlining.cpp
+++ b/llvm/lib/Transforms/IPO/PartialInlining.cpp
@@ -135,7 +135,7 @@ static cl::opt<int> MaxNumPartialInlining(
// produces larger value, the BFI value will be used.
static cl::opt<int>
OutlineRegionFreqPercent("outline-region-freq-percent", cl::init(75),
- cl::Hidden, cl::ZeroOrMore,
+ cl::Hidden,
cl::desc("Relative frequency of outline region to "
"the entry block"));
diff --git a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
index 51d9bac3ef58f..839696832f107 100644
--- a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
+++ b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
@@ -144,13 +144,12 @@ static cl::opt<std::string> ClWriteSummary(
static cl::opt<unsigned>
ClThreshold("wholeprogramdevirt-branch-funnel-threshold", cl::Hidden,
- cl::init(10), cl::ZeroOrMore,
+ cl::init(10),
cl::desc("Maximum number of call targets per "
"call site to enable branch funnels"));
static cl::opt<bool>
PrintSummaryDevirt("wholeprogramdevirt-print-index-based", cl::Hidden,
- cl::init(false), cl::ZeroOrMore,
cl::desc("Print index-based devirtualization messages"));
/// Provide a way to force enable whole program visibility in tests.
@@ -158,8 +157,7 @@ static cl::opt<bool>
/// !vcall_visibility metadata (the mere presense of type tests
/// previously implied hidden visibility).
static cl::opt<bool>
- WholeProgramVisibility("whole-program-visibility", cl::init(false),
- cl::Hidden, cl::ZeroOrMore,
+ WholeProgramVisibility("whole-program-visibility", cl::Hidden,
cl::desc("Enable whole program visibility"));
/// Provide a way to force disable whole program for debugging or workarounds,
diff --git a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
index 6ddade5c709b3..1842f73e9549a 100644
--- a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
@@ -193,12 +193,12 @@ static cl::opt<bool>
static cl::opt<bool>
ClInstrumentLandingPads("hwasan-instrument-landing-pads",
cl::desc("instrument landing pads"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false));
static cl::opt<bool> ClUseShortGranules(
"hwasan-use-short-granules",
cl::desc("use short granules in allocas and outlined checks"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false));
static cl::opt<bool> ClInstrumentPersonalityFunctions(
"hwasan-instrument-personality-functions",
diff --git a/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp b/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
index 59dde84246cf8..6ef478e8bfbab 100644
--- a/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
+++ b/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
@@ -68,7 +68,7 @@ static cl::opt<bool> DisableMemOPOPT("disable-memop-opt", cl::init(false),
// The percent threshold to optimize memory intrinsic calls.
static cl::opt<unsigned>
MemOPPercentThreshold("pgo-memop-percent-threshold", cl::init(40),
- cl::Hidden, cl::ZeroOrMore,
+ cl::Hidden,
cl::desc("The percentage threshold for the "
"memory intrinsic calls optimization"));
diff --git a/llvm/lib/Transforms/Scalar/LoopFuse.cpp b/llvm/lib/Transforms/Scalar/LoopFuse.cpp
index 84b02a060fb72..35e46ad4aa6a5 100644
--- a/llvm/lib/Transforms/Scalar/LoopFuse.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopFuse.cpp
@@ -128,7 +128,7 @@ static cl::opt<unsigned> FusionPeelMaxCount(
static cl::opt<bool>
VerboseFusionDebugging("loop-fusion-verbose-debug",
cl::desc("Enable verbose debugging for Loop Fusion"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore);
+ cl::Hidden, cl::init(false));
#endif
namespace {
diff --git a/llvm/lib/Transforms/Utils/CodeLayout.cpp b/llvm/lib/Transforms/Utils/CodeLayout.cpp
index a4ded18c6f0ca..1ff0f148b3a90 100644
--- a/llvm/lib/Transforms/Utils/CodeLayout.cpp
+++ b/llvm/lib/Transforms/Utils/CodeLayout.cpp
@@ -52,7 +52,7 @@ cl::opt<bool> EnableExtTspBlockPlacement(
cl::opt<bool> ApplyExtTspWithoutProfile(
"ext-tsp-apply-without-profile",
cl::desc("Whether to apply ext-tsp placement for instances w/o profile"),
- cl::init(true), cl::Hidden, cl::ZeroOrMore);
+ cl::init(true), cl::Hidden);
// Algorithm-specific constants. The values are tuned for the best performance
// of large-scale front-end bound binaries.
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 17dd6dfb673f9..d05618e35ca5a 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -213,7 +213,7 @@ static RunPassOption RunPassOpt;
static cl::opt<RunPassOption, true, cl::parser<std::string>> RunPass(
"run-pass",
cl::desc("Run compiler only for specified passes (comma separated list)"),
- cl::value_desc("pass-name"), cl::ZeroOrMore, cl::location(RunPassOpt));
+ cl::value_desc("pass-name"), cl::location(RunPassOpt));
static int compileModule(char **, LLVMContext &);
diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp
index 720a71e9a8b63..c78fca91eaddf 100644
--- a/llvm/tools/llvm-cov/CodeCoverage.cpp
+++ b/llvm/tools/llvm-cov/CodeCoverage.cpp
@@ -621,7 +621,7 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) {
cl::Positional, cl::desc("Covered executable or object file."));
cl::list<std::string> CovFilenames(
- "object", cl::desc("Coverage executable or object file"), cl::ZeroOrMore);
+ "object", cl::desc("Coverage executable or object file"));
cl::opt<bool> DebugDumpCollectedObjects(
"dump-collected-objects", cl::Optional, cl::Hidden,
diff --git a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
index ad4d6beb302fd..a38736e2d72cc 100644
--- a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
+++ b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
@@ -46,9 +46,10 @@ static cl::list<std::string> InputFiles(cl::Positional,
cl::ZeroOrMore,
cl::cat(LibtoolCategory));
-static cl::opt<std::string> ArchType(
- "arch_only", cl::desc("Specify architecture type for output library"),
- cl::value_desc("arch_type"), cl::ZeroOrMore, cl::cat(LibtoolCategory));
+static cl::opt<std::string>
+ ArchType("arch_only",
+ cl::desc("Specify architecture type for output library"),
+ cl::value_desc("arch_type"), cl::cat(LibtoolCategory));
enum class Operation { None, Static };
diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp
index 9a5bc39844869..ac77e7134ddfc 100644
--- a/llvm/tools/llvm-lto/llvm-lto.cpp
+++ b/llvm/tools/llvm-lto/llvm-lto.cpp
@@ -71,7 +71,7 @@ static cl::opt<char>
OptLevel("O",
cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] "
"(default = '-O2')"),
- cl::Prefix, cl::ZeroOrMore, cl::init('2'), cl::cat(LTOCategory));
+ cl::Prefix, cl::init('2'), cl::cat(LTOCategory));
static cl::opt<bool>
IndexStats("thinlto-index-stats",
diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp
index ca563f2885698..091bb3a84994f 100644
--- a/llvm/tools/llvm-lto2/llvm-lto2.cpp
+++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp
@@ -37,9 +37,10 @@ using namespace lto;
static codegen::RegisterCodeGenFlags CGF;
static cl::opt<char>
- OptLevel("O", cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] "
- "(default = '-O2')"),
- cl::Prefix, cl::ZeroOrMore, cl::init('2'));
+ OptLevel("O",
+ cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] "
+ "(default = '-O2')"),
+ cl::Prefix, cl::init('2'));
static cl::opt<char> CGOptLevel(
"cg-opt-level",
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
index c995c7975737b..474cb1977df0a 100644
--- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
@@ -521,7 +521,7 @@ cl::opt<bool> DumpIdExtras("id-extras",
cl::desc("dump id hashes and index offsets"),
cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::list<uint32_t> DumpIdIndex(
- "id-index", cl::ZeroOrMore, cl::CommaSeparated,
+ "id-index", cl::CommaSeparated,
cl::desc("only dump ids with the specified hexadecimal type index"),
cl::cat(TypeOptions), cl::sub(DumpSubcommand));
diff --git a/llvm/tools/llvm-profgen/llvm-profgen.cpp b/llvm/tools/llvm-profgen/llvm-profgen.cpp
index 0c60568bb0b26..c8f8cf5e861eb 100644
--- a/llvm/tools/llvm-profgen/llvm-profgen.cpp
+++ b/llvm/tools/llvm-profgen/llvm-profgen.cpp
@@ -48,11 +48,9 @@ static cl::opt<std::string> UnsymbolizedProfFilename(
static cl::alias UPA("up", cl::desc("Alias for --unsymbolized-profile"),
cl::aliasopt(UnsymbolizedProfFilename));
-static cl::opt<std::string>
- SampleProfFilename("llvm-sample-profile",
- cl::value_desc("llvm sample profile"), cl::ZeroOrMore,
- cl::desc("Path of the LLVM sample profile"),
- cl::cat(ProfGenCategory));
+static cl::opt<std::string> SampleProfFilename(
+ "llvm-sample-profile", cl::value_desc("llvm sample profile"),
+ cl::desc("Path of the LLVM sample profile"), cl::cat(ProfGenCategory));
static cl::opt<std::string>
BinaryPath("binary", cl::value_desc("binary"), cl::Required,
diff --git a/polly/lib/Analysis/DependenceInfo.cpp b/polly/lib/Analysis/DependenceInfo.cpp
index d30dbc8a7fce2..dc6ed169b5ed7 100644
--- a/polly/lib/Analysis/DependenceInfo.cpp
+++ b/polly/lib/Analysis/DependenceInfo.cpp
@@ -45,17 +45,17 @@ static cl::opt<int> OptComputeOut(
"polly-dependences-computeout",
cl::desc("Bound the dependence analysis by a maximal amount of "
"computational steps (0 means no bound)"),
- cl::Hidden, cl::init(500000), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(500000), cl::cat(PollyCategory));
-static cl::opt<bool> LegalityCheckDisabled(
- "disable-polly-legality", cl::desc("Disable polly legality check"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+static cl::opt<bool>
+ LegalityCheckDisabled("disable-polly-legality",
+ cl::desc("Disable polly legality check"), cl::Hidden,
+ cl::cat(PollyCategory));
static cl::opt<bool>
UseReductions("polly-dependences-use-reductions",
cl::desc("Exploit reductions in dependence analysis"),
- cl::Hidden, cl::init(true), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::init(true), cl::cat(PollyCategory));
enum AnalysisType { VALUE_BASED_ANALYSIS, MEMORY_BASED_ANALYSIS };
diff --git a/polly/lib/Analysis/PolyhedralInfo.cpp b/polly/lib/Analysis/PolyhedralInfo.cpp
index dff67e85b8eaa..13509445a1c62 100644
--- a/polly/lib/Analysis/PolyhedralInfo.cpp
+++ b/polly/lib/Analysis/PolyhedralInfo.cpp
@@ -36,8 +36,7 @@ using namespace polly;
static cl::opt<bool> CheckParallel("polly-check-parallel",
cl::desc("Check for parallel loops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> CheckVectorizable("polly-check-vectorizable",
cl::desc("Check for vectorizable loops"),
diff --git a/polly/lib/Analysis/ScopBuilder.cpp b/polly/lib/Analysis/ScopBuilder.cpp
index 6a5b6bd7b7513..818996581bdbf 100644
--- a/polly/lib/Analysis/ScopBuilder.cpp
+++ b/polly/lib/Analysis/ScopBuilder.cpp
@@ -78,15 +78,14 @@ static unsigned const MaxDimensionsInAccessRange = 9;
static cl::opt<bool, true> XModelReadOnlyScalars(
"polly-analyze-read-only-scalars",
cl::desc("Model read-only scalar values in the scop description"),
- cl::location(ModelReadOnlyScalars), cl::Hidden, cl::ZeroOrMore,
- cl::init(true), cl::cat(PollyCategory));
+ cl::location(ModelReadOnlyScalars), cl::Hidden, cl::init(true),
+ cl::cat(PollyCategory));
static cl::opt<int>
OptComputeOut("polly-analysis-computeout",
cl::desc("Bound the scop analysis by a maximal amount of "
"computational steps (0 means no bound)"),
- cl::Hidden, cl::init(800000), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::init(800000), cl::cat(PollyCategory));
static cl::opt<bool> PollyAllowDereferenceOfAllFunctionParams(
"polly-allow-dereference-of-all-function-parameters",
@@ -106,13 +105,13 @@ static cl::opt<bool>
static cl::opt<unsigned> RunTimeChecksMaxArraysPerGroup(
"polly-rtc-max-arrays-per-group",
cl::desc("The maximal number of arrays to compare in each alias group."),
- cl::Hidden, cl::ZeroOrMore, cl::init(20), cl::cat(PollyCategory));
+ cl::Hidden, cl::init(20), cl::cat(PollyCategory));
static cl::opt<unsigned> RunTimeChecksMaxAccessDisjuncts(
"polly-rtc-max-array-disjuncts",
cl::desc("The maximal number of disjunts allowed in memory accesses to "
"to build RTCs."),
- cl::Hidden, cl::ZeroOrMore, cl::init(8), cl::cat(PollyCategory));
+ cl::Hidden, cl::init(8), cl::cat(PollyCategory));
static cl::opt<unsigned> RunTimeChecksMaxParameters(
"polly-rtc-max-parameters",
@@ -131,16 +130,16 @@ static cl::opt<std::string> UserContextStr(
static cl::opt<bool> DetectReductions("polly-detect-reductions",
cl::desc("Detect and exploit reductions"),
- cl::Hidden, cl::ZeroOrMore,
- cl::init(true), cl::cat(PollyCategory));
+ cl::Hidden, cl::init(true),
+ cl::cat(PollyCategory));
// Multiplicative reductions can be disabled separately as these kind of
// operations can overflow easily. Additive reductions and bit operations
// are in contrast pretty stable.
static cl::opt<bool> DisableMultiplicativeReductions(
"polly-disable-multiplicative-reductions",
- cl::desc("Disable multiplicative reductions"), cl::Hidden, cl::ZeroOrMore,
- cl::init(false), cl::cat(PollyCategory));
+ cl::desc("Disable multiplicative reductions"), cl::Hidden,
+ cl::cat(PollyCategory));
enum class GranularityChoice { BasicBlocks, ScalarIndependence, Stores };
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp
index 12e92fe4a9e99..f9c39c1625516 100644
--- a/polly/lib/Analysis/ScopDetection.cpp
+++ b/polly/lib/Analysis/ScopDetection.cpp
@@ -109,8 +109,7 @@ static cl::opt<bool, true> XPollyProcessUnprofitable(
"polly-process-unprofitable",
cl::desc(
"Process scops that are unlikely to benefit from Polly optimizations."),
- cl::location(PollyProcessUnprofitable), cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::location(PollyProcessUnprofitable), cl::cat(PollyCategory));
static cl::list<std::string> OnlyFunctions(
"polly-only-func",
@@ -146,68 +145,63 @@ static cl::opt<std::string> OnlyRegion(
static cl::opt<bool>
IgnoreAliasing("polly-ignore-aliasing",
cl::desc("Ignore possible aliasing of the array bases"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
bool polly::PollyAllowUnsignedOperations;
static cl::opt<bool, true> XPollyAllowUnsignedOperations(
"polly-allow-unsigned-operations",
cl::desc("Allow unsigned operations such as comparisons or zero-extends."),
- cl::location(PollyAllowUnsignedOperations), cl::Hidden, cl::ZeroOrMore,
- cl::init(true), cl::cat(PollyCategory));
+ cl::location(PollyAllowUnsignedOperations), cl::Hidden, cl::init(true),
+ cl::cat(PollyCategory));
bool polly::PollyUseRuntimeAliasChecks;
static cl::opt<bool, true> XPollyUseRuntimeAliasChecks(
"polly-use-runtime-alias-checks",
cl::desc("Use runtime alias checks to resolve possible aliasing."),
- cl::location(PollyUseRuntimeAliasChecks), cl::Hidden, cl::ZeroOrMore,
- cl::init(true), cl::cat(PollyCategory));
+ cl::location(PollyUseRuntimeAliasChecks), cl::Hidden, cl::init(true),
+ cl::cat(PollyCategory));
static cl::opt<bool>
ReportLevel("polly-report",
cl::desc("Print information about the activities of Polly"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
static cl::opt<bool> AllowDifferentTypes(
"polly-allow-
diff ering-element-types",
cl::desc("Allow
diff erent element types for array accesses"), cl::Hidden,
- cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool>
AllowNonAffine("polly-allow-nonaffine",
cl::desc("Allow non affine access functions in arrays"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool>
AllowModrefCall("polly-allow-modref-calls",
cl::desc("Allow functions with known modref behavior"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> AllowNonAffineSubRegions(
"polly-allow-nonaffine-branches",
cl::desc("Allow non affine conditions for branches"), cl::Hidden,
- cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool>
AllowNonAffineSubLoops("polly-allow-nonaffine-loops",
cl::desc("Allow non affine conditions for loops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool, true>
TrackFailures("polly-detect-track-failures",
cl::desc("Track failure strings in detecting scop regions"),
- cl::location(PollyTrackFailures), cl::Hidden, cl::ZeroOrMore,
- cl::init(true), cl::cat(PollyCategory));
+ cl::location(PollyTrackFailures), cl::Hidden, cl::init(true),
+ cl::cat(PollyCategory));
static cl::opt<bool> KeepGoing("polly-detect-keep-going",
cl::desc("Do not fail on the first error."),
- cl::Hidden, cl::ZeroOrMore, cl::init(false),
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool, true>
PollyDelinearizeX("polly-delinearize",
@@ -218,20 +212,20 @@ static cl::opt<bool, true>
static cl::opt<bool>
VerifyScops("polly-detect-verify",
cl::desc("Verify the detected SCoPs after each transformation"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
bool polly::PollyInvariantLoadHoisting;
-static cl::opt<bool, true> XPollyInvariantLoadHoisting(
- "polly-invariant-load-hoisting", cl::desc("Hoist invariant loads."),
- cl::location(PollyInvariantLoadHoisting), cl::Hidden, cl::ZeroOrMore,
- cl::init(false), cl::cat(PollyCategory));
+static cl::opt<bool, true>
+ XPollyInvariantLoadHoisting("polly-invariant-load-hoisting",
+ cl::desc("Hoist invariant loads."),
+ cl::location(PollyInvariantLoadHoisting),
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> PollyAllowErrorBlocks(
"polly-allow-error-blocks",
cl::desc("Allow to speculate on the execution of 'error blocks'."),
- cl::Hidden, cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(true), cl::cat(PollyCategory));
/// The minimal trip count under which loops are considered unprofitable.
static const unsigned MIN_LOOP_TRIP_COUNT = 8;
diff --git a/polly/lib/Analysis/ScopGraphPrinter.cpp b/polly/lib/Analysis/ScopGraphPrinter.cpp
index 0f37c96ddf745..eb6c995f0bb91 100644
--- a/polly/lib/Analysis/ScopGraphPrinter.cpp
+++ b/polly/lib/Analysis/ScopGraphPrinter.cpp
@@ -23,11 +23,11 @@ using namespace llvm;
static cl::opt<std::string>
ViewFilter("polly-view-only",
cl::desc("Only view functions that match this pattern"),
- cl::Hidden, cl::init(""), cl::ZeroOrMore);
+ cl::Hidden, cl::init(""));
static cl::opt<bool> ViewAll("polly-view-all",
cl::desc("Also show functions without any scops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore);
+ cl::Hidden, cl::init(false));
namespace llvm {
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index e7096555d7db5..19c2c6f3c8115 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -126,7 +126,7 @@ static int const MaxDisjunktsInDefinedBehaviourContext = 8;
static cl::opt<bool> PollyRemarksMinimal(
"polly-remarks-minimal",
cl::desc("Do not emit remarks about assumptions that are known"),
- cl::Hidden, cl::ZeroOrMore, cl::init(false), cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool>
IslOnErrorAbort("polly-on-isl-error-abort",
diff --git a/polly/lib/CodeGen/BlockGenerators.cpp b/polly/lib/CodeGen/BlockGenerators.cpp
index 718e31117b1f0..2f7d7a9785f80 100644
--- a/polly/lib/CodeGen/BlockGenerators.cpp
+++ b/polly/lib/CodeGen/BlockGenerators.cpp
@@ -33,8 +33,7 @@ using namespace polly;
static cl::opt<bool> Aligned("enable-polly-aligned",
cl::desc("Assumed aligned memory accesses."),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
bool PollyDebugPrinting;
static cl::opt<bool, true> DebugPrintingX(
@@ -46,13 +45,13 @@ static cl::opt<bool, true> DebugPrintingX(
static cl::opt<bool> TraceStmts(
"polly-codegen-trace-stmts",
cl::desc("Add printf calls that print the statement being executed"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> TraceScalars(
"polly-codegen-trace-scalars",
cl::desc("Add printf calls that print the values of all scalar values "
"used in a statement. Requires -polly-codegen-trace-stmts."),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
BlockGenerator::BlockGenerator(
PollyIRBuilder &B, LoopInfo &LI, ScalarEvolution &SE, DominatorTree &DT,
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp
index 97d6737cc9c78..f3e80681a73e7 100644
--- a/polly/lib/CodeGen/CodeGeneration.cpp
+++ b/polly/lib/CodeGen/CodeGeneration.cpp
@@ -51,8 +51,7 @@ using namespace polly;
static cl::opt<bool> Verify("polly-codegen-verify",
cl::desc("Verify the function generated by Polly"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
bool polly::PerfMonitoring;
diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp
index 98e9638b700ae..338be5b2f8768 100644
--- a/polly/lib/CodeGen/IslAst.cpp
+++ b/polly/lib/CodeGen/IslAst.cpp
@@ -62,11 +62,10 @@ using IslAstUserPayload = IslAstInfo::IslAstUserPayload;
static cl::opt<bool>
PollyParallel("polly-parallel",
cl::desc("Generate thread parallel code (isl codegen only)"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
static cl::opt<bool> PrintAccesses("polly-ast-print-accesses",
cl::desc("Print memory access functions"),
- cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
static cl::opt<bool> PollyParallelForce(
@@ -77,12 +76,10 @@ static cl::opt<bool> PollyParallelForce(
static cl::opt<bool> UseContext("polly-ast-use-context",
cl::desc("Use context"), cl::Hidden,
- cl::init(true), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool> DetectParallel("polly-ast-detect-parallel",
cl::desc("Detect parallelism"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
STATISTIC(ScopsProcessed, "Number of SCoPs processed");
diff --git a/polly/lib/CodeGen/IslNodeBuilder.cpp b/polly/lib/CodeGen/IslNodeBuilder.cpp
index 568239c0985c7..843fa0e86a954 100644
--- a/polly/lib/CodeGen/IslNodeBuilder.cpp
+++ b/polly/lib/CodeGen/IslNodeBuilder.cpp
@@ -86,7 +86,7 @@ enum class OpenMPBackend { GNU, LLVM };
static cl::opt<bool> PollyGenerateRTCPrint(
"polly-codegen-emit-rtc-print",
cl::desc("Emit code that prints the runtime check result dynamically."),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
// If this option is set we always use the isl AST generator to regenerate
// memory accesses. Without this option set we regenerate expressions using the
@@ -95,12 +95,12 @@ static cl::opt<bool> PollyGenerateRTCPrint(
static cl::opt<bool> PollyGenerateExpressions(
"polly-codegen-generate-expressions",
cl::desc("Generate AST expressions for unmodified and modified accesses"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<int> PollyTargetFirstLevelCacheLineSize(
"polly-target-first-level-cache-line-size",
cl::desc("The size of the first level cache line size specified in bytes."),
- cl::Hidden, cl::init(64), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(64), cl::cat(PollyCategory));
static cl::opt<OpenMPBackend> PollyOmpBackend(
"polly-omp-backend", cl::desc("Choose the OpenMP library to use:"),
diff --git a/polly/lib/CodeGen/ManagedMemoryRewrite.cpp b/polly/lib/CodeGen/ManagedMemoryRewrite.cpp
index 1b63da728bfb8..a397692d0ac5f 100644
--- a/polly/lib/CodeGen/ManagedMemoryRewrite.cpp
+++ b/polly/lib/CodeGen/ManagedMemoryRewrite.cpp
@@ -33,7 +33,7 @@ static cl::opt<bool> RewriteAllocas(
"polly-acc-rewrite-allocas",
cl::desc(
"Ask the managed memory rewriter to also rewrite alloca instructions"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> IgnoreLinkageForGlobals(
"polly-acc-rewrite-ignore-linkage-for-globals",
diff --git a/polly/lib/CodeGen/PPCGCodeGeneration.cpp b/polly/lib/CodeGen/PPCGCodeGeneration.cpp
index 2b6ae8584c548..1f79c19c4674a 100644
--- a/polly/lib/CodeGen/PPCGCodeGeneration.cpp
+++ b/polly/lib/CodeGen/PPCGCodeGeneration.cpp
@@ -55,35 +55,29 @@ using namespace llvm;
static cl::opt<bool> DumpSchedule("polly-acc-dump-schedule",
cl::desc("Dump the computed GPU Schedule"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool>
DumpCode("polly-acc-dump-code",
cl::desc("Dump C code describing the GPU mapping"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
static cl::opt<bool> DumpKernelIR("polly-acc-dump-kernel-ir",
cl::desc("Dump the kernel LLVM-IR"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> DumpKernelASM("polly-acc-dump-kernel-asm",
cl::desc("Dump the kernel assembly code"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> FastMath("polly-acc-fastmath",
cl::desc("Allow unsafe math optimizations"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> SharedMemory("polly-acc-use-shared",
cl::desc("Use shared memory"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
static cl::opt<bool> PrivateMemory("polly-acc-use-private",
cl::desc("Use private memory"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
bool polly::PollyManagedMemory;
@@ -111,7 +105,7 @@ static cl::opt<std::string> CUDALibDevice(
static cl::opt<std::string>
CudaVersion("polly-acc-cuda-version",
cl::desc("The CUDA version to compile for"), cl::Hidden,
- cl::init("sm_30"), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init("sm_30"), cl::cat(PollyCategory));
static cl::opt<int>
MinCompute("polly-acc-mincompute",
diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp
index 573393b6e4658..0210341ef69de 100644
--- a/polly/lib/Support/RegisterPasses.cpp
+++ b/polly/lib/Support/RegisterPasses.cpp
@@ -65,12 +65,12 @@ namespace polly {
static cl::opt<bool>
PollyEnabled("polly",
cl::desc("Enable the polly optimizer (with -O1, -O2 or -O3)"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
static cl::opt<bool> PollyDetectOnly(
"polly-only-scop-detection",
cl::desc("Only run scop detection, but no other optimizations"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
enum PassPositionChoice {
POSITION_EARLY,
@@ -136,22 +136,21 @@ static cl::opt<VectorizerChoice, true> Vectorizer(
static cl::opt<bool> ImportJScop(
"polly-import",
cl::desc("Import the polyhedral description of the detected Scops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> FullyIndexedStaticExpansion(
"polly-enable-mse",
cl::desc("Fully expand the memory accesses of the detected Scops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> ExportJScop(
"polly-export",
cl::desc("Export the polyhedral description of the detected Scops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> DeadCodeElim("polly-run-dce",
cl::desc("Run the dead code elimination"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> PollyViewer(
"polly-show",
diff --git a/polly/lib/Support/SCEVAffinator.cpp b/polly/lib/Support/SCEVAffinator.cpp
index b317702194e3b..d1998d190ea1c 100644
--- a/polly/lib/Support/SCEVAffinator.cpp
+++ b/polly/lib/Support/SCEVAffinator.cpp
@@ -27,7 +27,7 @@ static cl::opt<bool> IgnoreIntegerWrapping(
"polly-ignore-integer-wrapping",
cl::desc("Do not build run-time checks to proof absence of integer "
"wrapping"),
- cl::Hidden, cl::ZeroOrMore, cl::init(false), cl::cat(PollyCategory));
+ cl::Hidden, cl::cat(PollyCategory));
// The maximal number of basic sets we allow during the construction of a
// piecewise affine function. More complex ones will result in very high
diff --git a/polly/lib/Transform/Canonicalization.cpp b/polly/lib/Transform/Canonicalization.cpp
index d55bbe26a7b4a..edb8e5ed58419 100644
--- a/polly/lib/Transform/Canonicalization.cpp
+++ b/polly/lib/Transform/Canonicalization.cpp
@@ -37,7 +37,7 @@ using namespace polly;
static cl::opt<bool>
PollyInliner("polly-run-inliner",
cl::desc("Run an early inliner pass before Polly"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
void polly::registerCanonicalicationPasses(llvm::legacy::PassManagerBase &PM) {
bool UseMemSSA = true;
diff --git a/polly/lib/Transform/ManualOptimizer.cpp b/polly/lib/Transform/ManualOptimizer.cpp
index c3f040a018b24..42083f673911e 100644
--- a/polly/lib/Transform/ManualOptimizer.cpp
+++ b/polly/lib/Transform/ManualOptimizer.cpp
@@ -32,7 +32,7 @@ namespace {
static cl::opt<bool> IgnoreDepcheck(
"polly-pragma-ignore-depcheck",
cl::desc("Skip the dependency check for pragma-based transformations"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
/// Same as llvm::hasUnrollTransformation(), but takes a LoopID as argument
/// instead of a Loop.
diff --git a/polly/lib/Transform/MatmulOptimizer.cpp b/polly/lib/Transform/MatmulOptimizer.cpp
index 38636b7b528c3..84c7da6590443 100644
--- a/polly/lib/Transform/MatmulOptimizer.cpp
+++ b/polly/lib/Transform/MatmulOptimizer.cpp
@@ -66,24 +66,24 @@ static cl::opt<int> ThroughputVectorFma(
static cl::opt<int> FirstCacheLevelSize(
"polly-target-1st-cache-level-size",
cl::desc("The size of the first cache level specified in bytes."),
- cl::Hidden, cl::init(-1), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(-1), cl::cat(PollyCategory));
static cl::opt<int> FirstCacheLevelDefaultSize(
"polly-target-1st-cache-level-default-size",
cl::desc("The default size of the first cache level specified in bytes"
" (if not enough were provided by the TargetTransformInfo)."),
- cl::Hidden, cl::init(32768), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(32768), cl::cat(PollyCategory));
static cl::opt<int> SecondCacheLevelSize(
"polly-target-2nd-cache-level-size",
cl::desc("The size of the second level specified in bytes."), cl::Hidden,
- cl::init(-1), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(-1), cl::cat(PollyCategory));
static cl::opt<int> SecondCacheLevelDefaultSize(
"polly-target-2nd-cache-level-default-size",
cl::desc("The default size of the second cache level specified in bytes"
" (if not enough were provided by the TargetTransformInfo)."),
- cl::Hidden, cl::init(262144), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(262144), cl::cat(PollyCategory));
// This option, along with --polly-target-2nd-cache-level-associativity,
// --polly-target-1st-cache-level-size, and --polly-target-2st-cache-level-size
@@ -95,36 +95,36 @@ static cl::opt<int> SecondCacheLevelDefaultSize(
static cl::opt<int> FirstCacheLevelAssociativity(
"polly-target-1st-cache-level-associativity",
cl::desc("The associativity of the first cache level."), cl::Hidden,
- cl::init(-1), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(-1), cl::cat(PollyCategory));
static cl::opt<int> FirstCacheLevelDefaultAssociativity(
"polly-target-1st-cache-level-default-associativity",
cl::desc("The default associativity of the first cache level"
" (if not enough were provided by the TargetTransformInfo)."),
- cl::Hidden, cl::init(8), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(8), cl::cat(PollyCategory));
static cl::opt<int> SecondCacheLevelAssociativity(
"polly-target-2nd-cache-level-associativity",
cl::desc("The associativity of the second cache level."), cl::Hidden,
- cl::init(-1), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(-1), cl::cat(PollyCategory));
static cl::opt<int> SecondCacheLevelDefaultAssociativity(
"polly-target-2nd-cache-level-default-associativity",
cl::desc("The default associativity of the second cache level"
" (if not enough were provided by the TargetTransformInfo)."),
- cl::Hidden, cl::init(8), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(8), cl::cat(PollyCategory));
static cl::opt<int> VectorRegisterBitwidth(
"polly-target-vector-register-bitwidth",
cl::desc("The size in bits of a vector register (if not set, this "
"information is taken from LLVM's target information."),
- cl::Hidden, cl::init(-1), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(-1), cl::cat(PollyCategory));
static cl::opt<int> PollyPatternMatchingNcQuotient(
"polly-pattern-matching-nc-quotient",
cl::desc("Quotient that is obtained by dividing Nc, the parameter of the"
"macro-kernel, by Nr, the parameter of the micro-kernel"),
- cl::Hidden, cl::init(256), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(256), cl::cat(PollyCategory));
namespace {
/// Parameters of the micro kernel.
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp
index 34d95ea11d594..0de88c2f6c52e 100644
--- a/polly/lib/Transform/ScheduleOptimizer.cpp
+++ b/polly/lib/Transform/ScheduleOptimizer.cpp
@@ -74,29 +74,27 @@ class Module;
static cl::opt<std::string>
OptimizeDeps("polly-opt-optimize-only",
cl::desc("Only a certain kind of dependences (all/raw)"),
- cl::Hidden, cl::init("all"), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::init("all"), cl::cat(PollyCategory));
static cl::opt<std::string>
SimplifyDeps("polly-opt-simplify-deps",
cl::desc("Dependences should be simplified (yes/no)"),
- cl::Hidden, cl::init("yes"), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::Hidden, cl::init("yes"), cl::cat(PollyCategory));
static cl::opt<int> MaxConstantTerm(
"polly-opt-max-constant-term",
cl::desc("The maximal constant term allowed (-1 is unlimited)"), cl::Hidden,
- cl::init(20), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(20), cl::cat(PollyCategory));
static cl::opt<int> MaxCoefficient(
"polly-opt-max-coefficient",
cl::desc("The maximal coefficient allowed (-1 is unlimited)"), cl::Hidden,
- cl::init(20), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(20), cl::cat(PollyCategory));
static cl::opt<std::string>
MaximizeBandDepth("polly-opt-maximize-bands",
cl::desc("Maximize the band depth (yes/no)"), cl::Hidden,
- cl::init("yes"), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init("yes"), cl::cat(PollyCategory));
static cl::opt<bool>
GreedyFusion("polly-loopfusion-greedy",
@@ -107,18 +105,17 @@ static cl::opt<std::string> OuterCoincidence(
"polly-opt-outer-coincidence",
cl::desc("Try to construct schedules where the outer member of each band "
"satisfies the coincidence constraints (yes/no)"),
- cl::Hidden, cl::init("no"), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init("no"), cl::cat(PollyCategory));
static cl::opt<int> PrevectorWidth(
"polly-prevect-width",
cl::desc(
"The number of loop iterations to strip-mine for pre-vectorization"),
- cl::Hidden, cl::init(4), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(4), cl::cat(PollyCategory));
static cl::opt<bool> FirstLevelTiling("polly-tiling",
cl::desc("Enable loop tiling"),
- cl::init(true), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<int> FirstLevelDefaultTileSize(
"polly-default-tile-size",
@@ -136,13 +133,13 @@ static cl::list<int>
static cl::opt<bool>
SecondLevelTiling("polly-2nd-level-tiling",
cl::desc("Enable a 2nd level loop of loop tiling"),
- cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::cat(PollyCategory));
static cl::opt<int> SecondLevelDefaultTileSize(
"polly-2nd-level-default-tile-size",
cl::desc("The default 2nd-level tile size (if not enough were provided by"
" --polly-2nd-level-tile-sizes)"),
- cl::Hidden, cl::init(16), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::Hidden, cl::init(16), cl::cat(PollyCategory));
static cl::list<int>
SecondLevelTileSizes("polly-2nd-level-tile-sizes",
@@ -153,7 +150,6 @@ static cl::list<int>
static cl::opt<bool> RegisterTiling("polly-register-tiling",
cl::desc("Enable register tiling"),
- cl::init(false), cl::ZeroOrMore,
cl::cat(PollyCategory));
static cl::opt<int> RegisterDefaultTileSize(
@@ -172,23 +168,22 @@ static cl::list<int>
static cl::opt<bool> PragmaBasedOpts(
"polly-pragma-based-opts",
cl::desc("Apply user-directed transformation from metadata"),
- cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool> EnableReschedule("polly-reschedule",
cl::desc("Optimize SCoPs using ISL"),
- cl::init(true), cl::ZeroOrMore,
- cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool>
PMBasedOpts("polly-pattern-matching-based-opts",
cl::desc("Perform optimizations based on pattern matching"),
- cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool>
EnablePostopts("polly-postopts",
cl::desc("Apply post-rescheduling optimizations such as "
"tiling (requires -polly-reschedule)"),
- cl::init(true), cl::ZeroOrMore, cl::cat(PollyCategory));
+ cl::init(true), cl::cat(PollyCategory));
static cl::opt<bool> OptimizedScops(
"polly-optimized-scops",
More information about the llvm-commits
mailing list