Index: llvm/trunk/lib/Target/ARM/ARMParallelDSP.cpp =================================================================== --- llvm/trunk/lib/Target/ARM/ARMParallelDSP.cpp +++ llvm/trunk/lib/Target/ARM/ARMParallelDSP.cpp @@ -42,6 +42,10 @@ STATISTIC(NumSMLAD , "Number of smlad instructions generated"); +static cl::opt +DisableParallelDSP("disable-arm-parallel-dsp", cl::Hidden, cl::init(false), + cl::desc("Disable the ARM Parallel DSP pass")); + namespace { struct OpChain; struct BinOpChain; @@ -149,6 +153,8 @@ } bool runOnLoop(Loop *TheLoop, LPPassManager &) override { + if (DisableParallelDSP) + return false; L = TheLoop; SE = &getAnalysis().getSE(); AA = &getAnalysis().getAAResults();