mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-05 03:36:43 +00:00
Move if-conversion after all passes that may use register scavenger.
llvm-svn: 37120
This commit is contained in:
parent
f7a017dfa7
commit
48f230dcb0
@ -88,19 +88,14 @@ bool ARMTargetMachine::addInstSelector(FunctionPassManager &PM, bool Fast) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ARMTargetMachine::addPostRegAlloc(FunctionPassManager &PM, bool Fast) {
|
||||
if (Fast || !EnableIfConversion || Subtarget.isThumb())
|
||||
return false;
|
||||
|
||||
PM.add(createIfConverterPass());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ARMTargetMachine::addPreEmitPass(FunctionPassManager &PM, bool Fast) {
|
||||
// FIXME: temporarily disabling load / store optimization pass for Thumb mode.
|
||||
if (!Fast && !DisableLdStOpti && !Subtarget.isThumb())
|
||||
PM.add(createARMLoadStoreOptimizationPass());
|
||||
|
||||
if (!Fast && EnableIfConversion && !Subtarget.isThumb())
|
||||
PM.add(createIfConverterPass());
|
||||
|
||||
PM.add(createARMConstantIslandPass());
|
||||
return true;
|
||||
}
|
||||
|
@ -53,7 +53,6 @@ public:
|
||||
|
||||
// Pass Pipeline Configuration
|
||||
virtual bool addInstSelector(FunctionPassManager &PM, bool Fast);
|
||||
virtual bool addPostRegAlloc(FunctionPassManager &PM, bool Fast);
|
||||
virtual bool addPreEmitPass(FunctionPassManager &PM, bool Fast);
|
||||
virtual bool addAssemblyEmitter(FunctionPassManager &PM, bool Fast,
|
||||
std::ostream &Out);
|
||||
|
Loading…
x
Reference in New Issue
Block a user