Allow several polly command line options to be provided multiple times

Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 203869
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp
index 75111cc..97555a0 100644
--- a/polly/lib/Transform/ScheduleOptimizer.cpp
+++ b/polly/lib/Transform/ScheduleOptimizer.cpp
@@ -43,37 +43,40 @@
 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 {