[polly] r181295 - Move polly options into separate option category
Tobias Grosser
grosser at fim.uni-passau.de
Tue May 7 00:31:10 PDT 2013
Author: grosser
Date: Tue May 7 02:31:10 2013
New Revision: 181295
URL: http://llvm.org/viewvc/llvm-project?rev=181295&view=rev
Log:
Move polly options into separate option category
Use the new cl::OptionCategory support to move the Polly options into a separate
option category. The aim is to hide most options and show by default only the
options a user needs to influence '-O3 -polly'. The available options probably
need some care, but here is the current status:
Polly Options:
Configure the polly loop optimizer
-enable-polly-openmp - Generate OpenMP parallel code
-polly - Enable the polly optimizer (only at -O3)
-polly-no-tiling - Disable tiling in the scheduler
-polly-only-func=<function-name> - Only run on a single function
-polly-report - Print information about the activities
of Polly
-polly-vectorizer - Select the vectorization strategy
=none - No Vectorization
=polly - Polly internal vectorizer
=unroll-only - Only grouped unroll the vectorize
candidate loops
=bb - The Basic Block vectorizer driven by
Polly
Added:
polly/trunk/include/polly/Options.h
Modified:
polly/trunk/lib/Analysis/Dependences.cpp
polly/trunk/lib/Analysis/ScopDetection.cpp
polly/trunk/lib/CodeGen/BlockGenerators.cpp
polly/trunk/lib/CodeGen/CodeGeneration.cpp
polly/trunk/lib/CodeGen/IslAst.cpp
polly/trunk/lib/Exchange/JSONExporter.cpp
polly/trunk/lib/Exchange/OpenScopExporter.cpp
polly/trunk/lib/Exchange/OpenScopImporter.cpp
polly/trunk/lib/Exchange/ScopLibExporter.cpp
polly/trunk/lib/Exchange/ScopLibImporter.cpp
polly/trunk/lib/Pluto.cpp
polly/trunk/lib/Pocc.cpp
polly/trunk/lib/RegisterPasses.cpp
polly/trunk/lib/ScheduleOptimizer.cpp
polly/trunk/test/Cloog/ScopDetection/single_function_only.ll
Added: polly/trunk/include/polly/Options.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/Options.h?rev=181295&view=auto
==============================================================================
--- polly/trunk/include/polly/Options.h (added)
+++ polly/trunk/include/polly/Options.h Tue May 7 02:31:10 2013
@@ -0,0 +1,20 @@
+//===--------------- polly/Options.h - The Polly option category *- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Introduce an option category for Polly.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef POLLY_OPTIONS_H
+#define POLLY_OPTIONS_H
+
+#include "llvm/Support/CommandLine.h"
+
+extern llvm::cl::OptionCategory PollyCategory;
+#endif
Modified: polly/trunk/lib/Analysis/Dependences.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/Dependences.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/Dependences.cpp (original)
+++ polly/trunk/lib/Analysis/Dependences.cpp Tue May 7 02:31:10 2013
@@ -23,13 +23,10 @@
#include "polly/Dependences.h"
#include "polly/LinkAllPasses.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/GICHelper.h"
-#define DEBUG_TYPE "polly-dependences"
-#include "llvm/Support/Debug.h"
-#include "llvm/Support/CommandLine.h"
-
#include <isl/aff.h>
#include <isl/flow.h>
#include <isl/map.h>
@@ -41,12 +38,12 @@ using namespace llvm;
static cl::opt<bool>
LegalityCheckDisabled("disable-polly-legality",
cl::desc("Disable polly legality check"), cl::Hidden,
- cl::init(false));
+ cl::init(false), cl::cat(PollyCategory));
static cl::opt<bool>
ValueDependences("polly-value-dependences",
cl::desc("Use value instead of memory based dependences"),
- cl::Hidden, cl::init(true));
+ cl::Hidden, cl::init(true), cl::cat(PollyCategory));
//===----------------------------------------------------------------------===//
Dependences::Dependences() : ScopPass(ID) { RAW = WAR = WAW = NULL; }
Modified: polly/trunk/lib/Analysis/ScopDetection.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopDetection.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopDetection.cpp (original)
+++ polly/trunk/lib/Analysis/ScopDetection.cpp Tue May 7 02:31:10 2013
@@ -46,6 +46,7 @@
#include "polly/CodeGen/BlockGenerators.h"
#include "polly/LinkAllPasses.h"
+#include "polly/Options.h"
#include "polly/ScopDetection.h"
#include "polly/Support/ScopHelper.h"
#include "polly/Support/SCEVValidator.h"
@@ -58,7 +59,6 @@
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/DebugInfo.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Assembly/Writer.h"
#define DEBUG_TYPE "polly-detect"
@@ -70,23 +70,24 @@ using namespace llvm;
using namespace polly;
static cl::opt<std::string>
-OnlyFunction("polly-detect-only", cl::desc("Only detect scops in function"),
- cl::Hidden, cl::value_desc("The function name to detect scops in"),
- cl::ValueRequired, cl::init(""));
+OnlyFunction("polly-only-func", cl::desc("Only run on a single function"),
+ cl::value_desc("function-name"), cl::ValueRequired, cl::init(""),
+ cl::cat(PollyCategory));
static cl::opt<bool>
IgnoreAliasing("polly-ignore-aliasing",
cl::desc("Ignore possible aliasing of the array bases"),
- cl::Hidden, cl::init(false));
+ cl::Hidden, cl::init(false), cl::cat(PollyCategory));
-static cl::opt<bool> ReportLevel("polly-report",
- cl::desc("Print information about Polly"),
- cl::Hidden, cl::init(false));
+static cl::opt<bool>
+ReportLevel("polly-report",
+ cl::desc("Print information about the activities of Polly"),
+ cl::init(false), 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::Hidden, cl::init(false), cl::cat(PollyCategory));
//===----------------------------------------------------------------------===//
// Statistics.
Modified: polly/trunk/lib/CodeGen/BlockGenerators.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/BlockGenerators.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/BlockGenerators.cpp (original)
+++ polly/trunk/lib/CodeGen/BlockGenerators.cpp Tue May 7 02:31:10 2013
@@ -16,6 +16,7 @@
#include "polly/ScopInfo.h"
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/CodeGen/BlockGenerators.h"
+#include "polly/Options.h"
#include "polly/Support/GICHelper.h"
#include "polly/Support/SCEVValidator.h"
#include "polly/Support/ScopHelper.h"
@@ -24,7 +25,6 @@
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpander.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
-#include "llvm/Support/CommandLine.h"
#include "isl/aff.h"
#include "isl/set.h"
@@ -35,12 +35,12 @@ using namespace polly;
static cl::opt<bool>
Aligned("enable-polly-aligned", cl::desc("Assumed aligned memory accesses."),
cl::Hidden, cl::value_desc("OpenMP code generation enabled if true"),
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
static cl::opt<bool, true>
SCEVCodegenF("polly-codegen-scev", cl::desc("Use SCEV based code generation."),
cl::Hidden, cl::location(SCEVCodegen), cl::init(false),
- cl::ZeroOrMore);
+ cl::ZeroOrMore, cl::cat(PollyCategory));
bool polly::SCEVCodegen;
Modified: polly/trunk/lib/CodeGen/CodeGeneration.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/CodeGeneration.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/CodeGeneration.cpp (original)
+++ polly/trunk/lib/CodeGen/CodeGeneration.cpp Tue May 7 02:31:10 2013
@@ -26,6 +26,7 @@
#define DEBUG_TYPE "polly-codegen"
#include "polly/Dependences.h"
#include "polly/LinkAllPasses.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/TempScopInfo.h"
#include "polly/CodeGen/CodeGeneration.h"
@@ -41,7 +42,6 @@
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ScalarEvolutionExpander.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
@@ -63,19 +63,19 @@ struct isl_set;
namespace polly {
static cl::opt<bool>
OpenMP("enable-polly-openmp", cl::desc("Generate OpenMP parallel code"),
- cl::Hidden, cl::value_desc("OpenMP code generation enabled if true"),
- cl::init(false), cl::ZeroOrMore);
+ cl::value_desc("OpenMP code generation enabled if true"),
+ cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
#ifdef GPU_CODEGEN
static cl::opt<bool>
GPGPU("enable-polly-gpgpu", cl::desc("Generate GPU parallel code"), cl::Hidden,
cl::value_desc("GPGPU code generation enabled if true"), cl::init(false),
- cl::ZeroOrMore);
+ cl::ZeroOrMore, cl::cat(PollyCategory));
static cl::opt<std::string>
GPUTriple("polly-gpgpu-triple",
cl::desc("Target triple for GPU code generation"), cl::Hidden,
- cl::init(""));
+ cl::init(""), cl::cat(PollyCategory));
#endif /* GPU_CODEGEN */
typedef DenseMap<const char *, Value *> CharMapT;
Modified: polly/trunk/lib/CodeGen/IslAst.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslAst.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/IslAst.cpp (original)
+++ polly/trunk/lib/CodeGen/IslAst.cpp Tue May 7 02:31:10 2013
@@ -24,10 +24,10 @@
#include "polly/LinkAllPasses.h"
#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#define DEBUG_TYPE "polly-ast"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "isl/union_map.h"
@@ -42,11 +42,13 @@ using namespace polly;
static cl::opt<bool> UseContext("polly-ast-use-context",
cl::desc("Use context"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false), cl::ZeroOrMore,
+ cl::cat(PollyCategory));
static cl::opt<bool> DetectParallel("polly-ast-detect-parallel",
cl::desc("Detect parallelism"), cl::Hidden,
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false), cl::ZeroOrMore,
+ cl::cat(PollyCategory));
namespace polly {
class IslAst {
Modified: polly/trunk/lib/Exchange/JSONExporter.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Exchange/JSONExporter.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Exchange/JSONExporter.cpp (original)
+++ polly/trunk/lib/Exchange/JSONExporter.cpp Tue May 7 02:31:10 2013
@@ -13,10 +13,10 @@
#include "polly/LinkAllPasses.h"
#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/ScopPass.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/system_error.h"
@@ -46,13 +46,13 @@ static cl::opt<std::string>
ImportDir("polly-import-jscop-dir",
cl::desc("The directory to import the .jscop files from."),
cl::Hidden, cl::value_desc("Directory path"), cl::ValueRequired,
- cl::init("."));
+ cl::init("."), cl::cat(PollyCategory));
static cl::opt<std::string>
ImportPostfix("polly-import-jscop-postfix",
cl::desc("Postfix to append to the import .jsop files."),
cl::Hidden, cl::value_desc("File postfix"), cl::ValueRequired,
- cl::init(""));
+ cl::init(""), cl::cat(PollyCategory));
struct JSONExporter : public ScopPass {
static char ID;
Modified: polly/trunk/lib/Exchange/OpenScopExporter.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Exchange/OpenScopExporter.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Exchange/OpenScopExporter.cpp (original)
+++ polly/trunk/lib/Exchange/OpenScopExporter.cpp Tue May 7 02:31:10 2013
@@ -15,10 +15,10 @@
#ifdef OPENSCOP_FOUND
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/ScopPass.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Assembly/Writer.h"
#define OPENSCOP_INT_T_IS_MP
@@ -36,7 +36,8 @@ namespace {
static cl::opt<std::string>
ExportDir("polly-export-dir",
cl::desc("The directory to export the .scop files to."), cl::Hidden,
- cl::value_desc("Directory path"), cl::ValueRequired, cl::init("."));
+ cl::value_desc("Directory path"), cl::ValueRequired, cl::init("."),
+ cl::cat(PollyCategory));
struct ScopExporter : public ScopPass {
static char ID;
Modified: polly/trunk/lib/Exchange/OpenScopImporter.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Exchange/OpenScopImporter.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Exchange/OpenScopImporter.cpp (original)
+++ polly/trunk/lib/Exchange/OpenScopImporter.cpp Tue May 7 02:31:10 2013
@@ -15,10 +15,9 @@
#include "polly/LinkAllPasses.h"
#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/ScopPass.h"
-
-#include "llvm/Support/CommandLine.h"
#include "llvm/Assembly/Writer.h"
#ifdef OPENSCOP_FOUND
Modified: polly/trunk/lib/Exchange/ScopLibExporter.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Exchange/ScopLibExporter.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Exchange/ScopLibExporter.cpp (original)
+++ polly/trunk/lib/Exchange/ScopLibExporter.cpp Tue May 7 02:31:10 2013
@@ -15,11 +15,11 @@
#ifdef SCOPLIB_FOUND
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/ScopPass.h"
#include "polly/ScopLib.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Assembly/Writer.h"
#include "stdio.h"
@@ -34,7 +34,7 @@ static cl::opt<std::string>
ExportDir("polly-export-scoplib-dir",
cl::desc("The directory to export the .scoplib files to."),
cl::Hidden, cl::value_desc("Directory path"), cl::ValueRequired,
- cl::init("."));
+ cl::init("."), cl::cat(PollyCategory));
class ScopLibExporter : public ScopPass {
Scop *S;
Modified: polly/trunk/lib/Exchange/ScopLibImporter.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Exchange/ScopLibImporter.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Exchange/ScopLibImporter.cpp (original)
+++ polly/trunk/lib/Exchange/ScopLibImporter.cpp Tue May 7 02:31:10 2013
@@ -16,10 +16,11 @@
#ifdef SCOPLIB_FOUND
+#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/ScopLib.h"
-#include "polly/Dependences.h"
-#include "llvm/Support/CommandLine.h"
+
#include "llvm/Assembly/Writer.h"
#define SCOPLIB_INT_T_IS_MP
@@ -36,12 +37,13 @@ static cl::opt<std::string>
ImportDir("polly-import-scoplib-dir",
cl::desc("The directory to import the .scoplib files from."),
cl::Hidden, cl::value_desc("Directory path"), cl::ValueRequired,
- cl::init("."));
+ cl::init("."), cl::cat(PollyCategory));
+
static cl::opt<std::string>
ImportPostfix("polly-import-scoplib-postfix",
cl::desc("Postfix to append to the import .scoplib files."),
cl::Hidden, cl::value_desc("File postfix"), cl::ValueRequired,
- cl::init(""));
+ cl::init(""), cl::cat(PollyCategory));
struct ScopLibImporter : public RegionPass {
static char ID;
Modified: polly/trunk/lib/Pluto.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Pluto.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Pluto.cpp (original)
+++ polly/trunk/lib/Pluto.cpp Tue May 7 02:31:10 2013
@@ -17,12 +17,12 @@
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/Dependences.h"
#include "polly/LinkAllPasses.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/GICHelper.h"
#define DEBUG_TYPE "polly-opt-pluto"
#include "llvm/Support/Debug.h"
-#include "llvm/Support/CommandLine.h"
#include "pluto/libpluto.h"
#include "isl/map.h"
@@ -31,7 +31,8 @@ using namespace llvm;
using namespace polly;
static cl::opt<bool> EnableTiling("polly-pluto-tile", cl::desc("Enable tiling"),
- cl::Hidden, cl::init(false));
+ cl::Hidden, cl::init(false),
+ cl::cat(PollyCategory));
namespace {
/// Convert an int into a string.
Modified: polly/trunk/lib/Pocc.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Pocc.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/Pocc.cpp (original)
+++ polly/trunk/lib/Pocc.cpp Tue May 7 02:31:10 2013
@@ -21,6 +21,7 @@
#ifdef SCOPLIB_FOUND
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScheduleOptimizer.h"
#include "polly/ScopInfo.h"
@@ -29,7 +30,6 @@
#include "llvm/Support/Path.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Support/system_error.h"
#include "llvm/ADT/OwningPtr.h"
@@ -44,7 +44,8 @@ using namespace polly;
static cl::opt<std::string> PlutoFuse("pluto-fuse", cl::desc(""), cl::Hidden,
cl::value_desc("Set fuse mode of Pluto"),
- cl::init("maxfuse"));
+ cl::init("maxfuse"),
+ cl::cat(PollyCategory));
namespace {
Modified: polly/trunk/lib/RegisterPasses.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/RegisterPasses.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/RegisterPasses.cpp (original)
+++ polly/trunk/lib/RegisterPasses.cpp Tue May 7 02:31:10 2013
@@ -26,22 +26,24 @@
#include "polly/CodeGen/Cloog.h"
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/Dependences.h"
+#include "polly/Options.h"
#include "polly/ScopDetection.h"
#include "polly/ScopInfo.h"
#include "polly/TempScopInfo.h"
#include "llvm/Analysis/CFGPrinter.h"
#include "llvm/PassManager.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm/Transforms/Vectorize.h"
using namespace llvm;
+cl::OptionCategory PollyCategory("Polly Options",
+ "Configure the polly loop optimizer");
static cl::opt<bool>
-PollyEnabled("polly", cl::desc("Enable the default passes of Polly in -O3"),
- cl::init(false), cl::ZeroOrMore);
+PollyEnabled("polly", cl::desc("Enable the polly optimizer (only at -O3)"),
+ cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
enum OptimizerChoice {
OPTIMIZER_NONE,
@@ -66,7 +68,8 @@ static cl::opt<OptimizerChoice> Optimize
#endif
clEnumValN(OPTIMIZER_ISL, "isl", "The isl scheduling optimizer"),
clEnumValEnd),
- cl::Hidden, cl::init(OPTIMIZER_ISL), cl::ZeroOrMore);
+ cl::Hidden, cl::init(OPTIMIZER_ISL), cl::ZeroOrMore,
+ cl::cat(PollyCategory));
enum CodeGenChoice {
#ifdef CLOOG_FOUND
@@ -90,11 +93,12 @@ static cl::opt<CodeGenChoice> CodeGenera
#endif
clEnumValN(CODEGEN_ISL, "isl", "isl code generator"),
clEnumValN(CODEGEN_NONE, "none", "no code generation"), clEnumValEnd),
- cl::Hidden, cl::init(DefaultCodeGen), cl::ZeroOrMore);
+ cl::Hidden, cl::init(DefaultCodeGen), cl::ZeroOrMore,
+ cl::cat(PollyCategory));
VectorizerChoice polly::PollyVectorizerChoice;
static cl::opt<polly::VectorizerChoice, true> Vectorizer(
- "polly-vectorizer", cl::desc("Select the scheduling optimizer"),
+ "polly-vectorizer", cl::desc("Select the vectorization strategy"),
cl::values(clEnumValN(polly::VECTORIZER_NONE, "none", "No Vectorization"),
clEnumValN(polly::VECTORIZER_POLLY, "polly",
"Polly internal vectorizer"),
@@ -103,44 +107,52 @@ static cl::opt<polly::VectorizerChoice,
clEnumValN(polly::VECTORIZER_BB, "bb",
"The Basic Block vectorizer driven by Polly"),
clEnumValEnd),
- cl::Hidden, cl::location(PollyVectorizerChoice),
- cl::init(polly::VECTORIZER_NONE), cl::ZeroOrMore);
+ cl::location(PollyVectorizerChoice), cl::init(polly::VECTORIZER_NONE),
+ cl::ZeroOrMore, cl::cat(PollyCategory));
static cl::opt<bool>
ImportJScop("polly-import",
cl::desc("Export the polyhedral description of the detected Scops"),
- cl::Hidden, cl::init(false), cl::ZeroOrMore);
+ cl::Hidden, cl::init(false), cl::ZeroOrMore,
+ 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::Hidden, cl::init(false), cl::ZeroOrMore,
+ 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::Hidden, cl::init(false), cl::ZeroOrMore,
+ cl::cat(PollyCategory));
static cl::opt<bool>
PollyViewer("polly-show", cl::desc("Enable the Polly DOT viewer in -O3"),
cl::Hidden, cl::value_desc("Run the Polly DOT viewer at -O3"),
- cl::init(false), cl::ZeroOrMore);
+ cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+
static cl::opt<bool> PollyOnlyViewer(
"polly-show-only",
cl::desc("Enable the Polly DOT viewer in -O3 (no BB content)"), cl::Hidden,
cl::value_desc("Run the Polly DOT viewer at -O3 (no BB content"),
- cl::init(false));
+ cl::init(false), cl::cat(PollyCategory));
+
static cl::opt<bool>
PollyPrinter("polly-dot", cl::desc("Enable the Polly DOT printer in -O3"),
cl::Hidden, cl::value_desc("Run the Polly DOT printer at -O3"),
- cl::init(false));
+ cl::init(false), cl::cat(PollyCategory));
+
static cl::opt<bool> PollyOnlyPrinter(
"polly-dot-only",
cl::desc("Enable the Polly DOT printer in -O3 (no BB content)"), cl::Hidden,
cl::value_desc("Run the Polly DOT printer at -O3 (no BB content"),
- cl::init(false));
+ cl::init(false), cl::cat(PollyCategory));
+
static cl::opt<bool>
CFGPrinter("polly-view-cfg",
cl::desc("Show the Polly CFG right after code generation"),
- cl::Hidden, cl::init(false));
+ cl::Hidden, cl::init(false), cl::cat(PollyCategory));
namespace {
static void initializePollyPasses(PassRegistry &Registry) {
Modified: polly/trunk/lib/ScheduleOptimizer.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/ScheduleOptimizer.cpp?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/lib/ScheduleOptimizer.cpp (original)
+++ polly/trunk/lib/ScheduleOptimizer.cpp Tue May 7 02:31:10 2013
@@ -22,6 +22,7 @@
#include "polly/CodeGen/CodeGeneration.h"
#include "polly/Dependences.h"
#include "polly/LinkAllPasses.h"
+#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "isl/aff.h"
@@ -34,7 +35,6 @@
#define DEBUG_TYPE "polly-opt-isl"
#include "llvm/Support/Debug.h"
-#include "llvm/Support/CommandLine.h"
using namespace llvm;
using namespace polly;
@@ -42,38 +42,38 @@ using namespace polly;
namespace polly { bool DisablePollyTiling; }
static cl::opt<bool, true>
DisableTiling("polly-no-tiling", cl::desc("Disable tiling in the scheduler"),
- cl::Hidden, cl::location(polly::DisablePollyTiling),
- cl::init(false));
+ cl::location(polly::DisablePollyTiling), cl::init(false),
+ 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::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::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::Hidden, 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::Hidden, cl::init(20), 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::init("min"), 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::init("yes"), cl::cat(PollyCategory));
namespace {
Modified: polly/trunk/test/Cloog/ScopDetection/single_function_only.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Cloog/ScopDetection/single_function_only.ll?rev=181295&r1=181294&r2=181295&view=diff
==============================================================================
--- polly/trunk/test/Cloog/ScopDetection/single_function_only.ll (original)
+++ polly/trunk/test/Cloog/ScopDetection/single_function_only.ll Tue May 7 02:31:10 2013
@@ -1,4 +1,4 @@
-; RUN: opt %loadPolly %defaultOpts -polly-cloog -analyze -polly-detect-only=bar < %s | FileCheck %s
+; RUN: opt %loadPolly %defaultOpts -polly-cloog -analyze -polly-only-func=bar < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
More information about the llvm-commits
mailing list