From 442368783117aa08a0acb1c6ce26f803900d9a23 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Wed, 16 May 2007 20:52:46 +0000 Subject: [PATCH] Move if-conversion after all passes that may use register scavenger. llvm-svn: 37120 --- llvm/lib/Target/ARM/ARMTargetMachine.cpp | 11 +++-------- llvm/lib/Target/ARM/ARMTargetMachine.h | 1 - 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp index 57b644026db9..fc03da1a8da3 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -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; } diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.h b/llvm/lib/Target/ARM/ARMTargetMachine.h index dcdd1285f543..a50275c675f7 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.h +++ b/llvm/lib/Target/ARM/ARMTargetMachine.h @@ -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);