diff options
| author | Tobias Grosser <tobias@grosser.es> | 2014-03-13 23:37:43 +0000 |
|---|---|---|
| committer | Tobias Grosser <tobias@grosser.es> | 2014-03-13 23:37:43 +0000 |
| commit | 64e8e37dee803b140b3eabeb898628fc3cf38d4c (patch) | |
| tree | 94074de461a4f4054189f5c6c97ea8f4763e78ad | |
| parent | 1f1c916074827162f72f11a83e6f9feebb5686e8 (diff) | |
| download | bcm5719-llvm-64e8e37dee803b140b3eabeb898628fc3cf38d4c.tar.gz bcm5719-llvm-64e8e37dee803b140b3eabeb898628fc3cf38d4c.zip | |
Allow several polly command line options to be provided multiple times
Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 203869
| -rw-r--r-- | polly/lib/Analysis/Dependences.cpp | 8 | ||||
| -rw-r--r-- | polly/lib/Analysis/ScopDetection.cpp | 21 | ||||
| -rw-r--r-- | polly/lib/Transform/DeadCodeElimination.cpp | 2 | ||||
| -rw-r--r-- | polly/lib/Transform/ScheduleOptimizer.cpp | 17 |
4 files changed, 29 insertions, 19 deletions
diff --git a/polly/lib/Analysis/Dependences.cpp b/polly/lib/Analysis/Dependences.cpp index 3b0980fbc37..462273b71b2 100644 --- a/polly/lib/Analysis/Dependences.cpp +++ b/polly/lib/Analysis/Dependences.cpp @@ -42,12 +42,13 @@ static cl::opt<int> OptComputeOut("polly-dependences-computeout", cl::desc("Bound the dependence analysis by a maximal amount of " "computational steps"), - cl::Hidden, cl::init(100000), cl::cat(PollyCategory)); + cl::Hidden, cl::init(100000), cl::ZeroOrMore, + cl::cat(PollyCategory)); static cl::opt<bool> LegalityCheckDisabled("disable-polly-legality", cl::desc("Disable polly legality check"), cl::Hidden, - cl::init(false), cl::cat(PollyCategory)); + cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory)); enum AnalysisType { VALUE_BASED_ANALYSIS, MEMORY_BASED_ANALYSIS }; @@ -59,7 +60,8 @@ static cl::opt<enum AnalysisType> OptAnalysisType( clEnumValN(MEMORY_BASED_ANALYSIS, "memory-based", "Overapproximation of dependences"), clEnumValEnd), - cl::Hidden, cl::init(VALUE_BASED_ANALYSIS), cl::cat(PollyCategory)); + cl::Hidden, cl::init(VALUE_BASED_ANALYSIS), cl::ZeroOrMore, + cl::cat(PollyCategory)); //===----------------------------------------------------------------------===// Dependences::Dependences() : ScopPass(ID) { RAW = WAR = WAW = NULL; } diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index 513e970f03b..620793dc11b 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -72,12 +72,14 @@ using namespace polly; static cl::opt<bool> DetectScopsWithoutLoops("polly-detect-scops-in-functions-without-loops", cl::desc("Detect scops in functions without loops"), - cl::Hidden, cl::init(false), cl::cat(PollyCategory)); + cl::Hidden, cl::init(false), cl::ZeroOrMore, + cl::cat(PollyCategory)); static cl::opt<bool> DetectRegionsWithoutLoops("polly-detect-scops-in-regions-without-loops", cl::desc("Detect scops in regions without loops"), - cl::Hidden, cl::init(false), cl::cat(PollyCategory)); + cl::Hidden, cl::init(false), cl::ZeroOrMore, + cl::cat(PollyCategory)); static cl::opt<std::string> OnlyFunction("polly-only-func", cl::desc("Only run on a single function"), @@ -94,28 +96,31 @@ OnlyRegion("polly-only-region", static cl::opt<bool> IgnoreAliasing("polly-ignore-aliasing", cl::desc("Ignore possible aliasing of the array bases"), - cl::Hidden, cl::init(false), cl::cat(PollyCategory)); + cl::Hidden, cl::init(false), cl::ZeroOrMore, + cl::cat(PollyCategory)); static cl::opt<bool> ReportLevel("polly-report", cl::desc("Print information about the activities of Polly"), - cl::init(false), cl::cat(PollyCategory)); + cl::init(false), cl::ZeroOrMore, 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::cat(PollyCategory)); + cl::Hidden, cl::init(false), cl::ZeroOrMore, + 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::init(false), - cl::cat(PollyCategory)); + cl::location(PollyTrackFailures), cl::Hidden, cl::ZeroOrMore, + cl::init(false), cl::cat(PollyCategory)); static cl::opt<bool> VerifyScops("polly-detect-verify", cl::desc("Verify the detected SCoPs after each transformation"), - cl::Hidden, cl::init(false), cl::cat(PollyCategory)); + cl::Hidden, cl::init(false), cl::ZeroOrMore, + cl::cat(PollyCategory)); bool polly::PollyTrackFailures = false; diff --git a/polly/lib/Transform/DeadCodeElimination.cpp b/polly/lib/Transform/DeadCodeElimination.cpp index ba51d87fa96..41cdf4ff76f 100644 --- a/polly/lib/Transform/DeadCodeElimination.cpp +++ b/polly/lib/Transform/DeadCodeElimination.cpp @@ -50,7 +50,7 @@ cl::opt<int> DCEPreciseSteps( cl::desc("The number of precise steps between two approximating " "iterations. (A value of -1 schedules another approximation stage " "before the actual dead code elimination."), - cl::init(-1)); + cl::ZeroOrMore, cl::init(-1)); class DeadCodeElim : public ScopPass { diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp index 75111cc0668..97555a01824 100644 --- a/polly/lib/Transform/ScheduleOptimizer.cpp +++ b/polly/lib/Transform/ScheduleOptimizer.cpp @@ -43,37 +43,40 @@ bool DisablePollyTiling; static cl::opt<bool, true> DisableTiling("polly-no-tiling", cl::desc("Disable tiling in the scheduler"), cl::location(polly::DisablePollyTiling), cl::init(false), - cl::cat(PollyCategory)); + cl::ZeroOrMore, cl::cat(PollyCategory)); 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::cat(PollyCategory)); + cl::Hidden, cl::init("all"), cl::ZeroOrMore, + 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::cat(PollyCategory)); + cl::init("yes"), cl::ZeroOrMore, 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::cat(PollyCategory)); + cl::Hidden, cl::init(20), cl::ZeroOrMore, + 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::cat(PollyCategory)); + cl::Hidden, cl::init(20), cl::ZeroOrMore, + cl::cat(PollyCategory)); static cl::opt<std::string> FusionStrategy("polly-opt-fusion", cl::desc("The fusion strategy to choose (min/max)"), cl::Hidden, - cl::init("min"), cl::cat(PollyCategory)); + cl::init("min"), cl::ZeroOrMore, 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::cat(PollyCategory)); + cl::init("yes"), cl::ZeroOrMore, cl::cat(PollyCategory)); namespace { |

