Index: lib/CodeGen/LoopGenerators.cpp =================================================================== --- lib/CodeGen/LoopGenerators.cpp +++ lib/CodeGen/LoopGenerators.cpp @@ -18,10 +18,16 @@ #include "llvm/IR/Dominators.h" #include "llvm/IR/Module.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h" +#include "llvm/Support/CommandLine.h" using namespace llvm; using namespace polly; +static cl::opt + PollyNumThreads("polly-num-threads", + cl::desc("Number of threads to use (0 = auto)"), cl::Hidden, + cl::init(0)); + // We generate a loop of either of the following structures: // // BeforeBB BeforeBB @@ -189,7 +195,7 @@ F = Function::Create(Ty, Linkage, Name, M); } - Value *NumberOfThreads = Builder.getInt32(0); + Value *NumberOfThreads = Builder.getInt32(PollyNumThreads); Value *Args[] = {SubFn, SubFnParam, NumberOfThreads, LB, UB, Stride}; Builder.CreateCall(F, Args);