diff options
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/Sparc/SparcTargetMachine.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcTargetMachine.cpp b/llvm/lib/Target/Sparc/SparcTargetMachine.cpp index cc2be3a9ef0..d8a047a72ba 100644 --- a/llvm/lib/Target/Sparc/SparcTargetMachine.cpp +++ b/llvm/lib/Target/Sparc/SparcTargetMachine.cpp @@ -149,6 +149,18 @@ void SparcPassConfig::addPreEmitPass(){ { addPass(new InsertNOPLoad(getSparcTargetMachine())); } + if (this->getSparcTargetMachine().getSubtargetImpl()->fixFSMULD()) + { + addPass(new FixFSMULD(getSparcTargetMachine())); + } + if (this->getSparcTargetMachine().getSubtargetImpl()->replaceFMULS()) + { + addPass(new ReplaceFMULS(getSparcTargetMachine())); + } + if (this->getSparcTargetMachine().getSubtargetImpl()->fixAllFDIVSQRT()) + { + addPass(new FixAllFDIVSQRT(getSparcTargetMachine())); + } } void SparcV8TargetMachine::anchor() { } |