diff options
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetMachine.cpp | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp index e3e6228206e..34f7f78154c 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -358,7 +358,9 @@ void ARMPassConfig::addPreRegAlloc() {  void ARMPassConfig::addPreSched2() {    if (getOptLevel() != CodeGenOpt::None) {      addPass(createARMLoadStoreOptimizationPass()); -    addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass)); + +    if (getARMSubtarget().hasNEON()) +      addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass));    }    // Expand some pseudo instructions into multiple instructions to allow  | 

