diff options
-rw-r--r-- | include/llvm/CodeGen/Passes.h | 6 | ||||
-rw-r--r-- | lib/CodeGen/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/CodeGen/CodePlacementOpt.cpp (renamed from lib/CodeGen/LoopAligner.cpp) | 24 | ||||
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 2 |
4 files changed, 19 insertions, 15 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h index faf9831952..ff80dbacd6 100644 --- a/include/llvm/CodeGen/Passes.h +++ b/include/llvm/CodeGen/Passes.h @@ -146,9 +146,9 @@ namespace llvm { /// IfConverter Pass - This pass performs machine code if conversion. FunctionPass *createIfConverterPass(); - /// LoopAligner Pass - This pass aligns loop headers to target specific - /// alignment boundary. - FunctionPass *createLoopAlignerPass(); + /// Code Placement Pass - This pass optimize code placement and aligns loop + /// headers to target specific alignment boundary. + FunctionPass *createCodePlacementOptPass(); /// DebugLabelFoldingPass - This pass prunes out redundant debug labels. This /// allows a debug emitter to determine if the range of two labels is empty, diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt index bf8c153a32..2cae80f321 100644 --- a/lib/CodeGen/CMakeLists.txt +++ b/lib/CodeGen/CMakeLists.txt @@ -1,5 +1,6 @@ add_llvm_library(LLVMCodeGen BranchFolding.cpp + CodePlacementOpt.cpp DeadMachineInstructionElim.cpp ELFWriter.cpp GCMetadata.cpp @@ -13,7 +14,6 @@ add_llvm_library(LLVMCodeGen LiveIntervalAnalysis.cpp LiveStackAnalysis.cpp LiveVariables.cpp - LoopAligner.cpp LowerSubregs.cpp MachOWriter.cpp MachineBasicBlock.cpp diff --git a/lib/CodeGen/LoopAligner.cpp b/lib/CodeGen/CodePlacementOpt.cpp index b67f5c3bf9..54121afefd 100644 --- a/lib/CodeGen/LoopAligner.cpp +++ b/lib/CodeGen/CodePlacementOpt.cpp @@ -1,4 +1,4 @@ -//===-- LoopAligner.cpp - Loop aligner pass. ------------------------------===// +//===-- CodePlacementOpt.cpp - Code Placement pass. -----------------------===// // // The LLVM Compiler Infrastructure // @@ -7,12 +7,12 @@ // //===----------------------------------------------------------------------===// // -// This file implements the pass that align loop headers to target specific -// alignment boundary. +// This file implements the pass that optimize code placement and align loop +// headers to target specific alignment boundary. // //===----------------------------------------------------------------------===// -#define DEBUG_TYPE "loopalign" +#define DEBUG_TYPE "code-placement" #include "llvm/CodeGen/MachineLoopInfo.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/Passes.h" @@ -23,13 +23,15 @@ using namespace llvm; namespace { - class LoopAligner : public MachineFunctionPass { + class CodePlacementOpt : public MachineFunctionPass { public: static char ID; - LoopAligner() : MachineFunctionPass(&ID) {} + CodePlacementOpt() : MachineFunctionPass(&ID) {} virtual bool runOnMachineFunction(MachineFunction &MF); - virtual const char *getPassName() const { return "Loop aligner"; } + virtual const char *getPassName() const { + return "Code Placement Optimizater"; + } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<MachineLoopInfo>(); @@ -39,12 +41,14 @@ namespace { } }; - char LoopAligner::ID = 0; + char CodePlacementOpt::ID = 0; } // end anonymous namespace -FunctionPass *llvm::createLoopAlignerPass() { return new LoopAligner(); } +FunctionPass *llvm::createCodePlacementOptPass() { + return new CodePlacementOpt(); +} -bool LoopAligner::runOnMachineFunction(MachineFunction &MF) { +bool CodePlacementOpt::runOnMachineFunction(MachineFunction &MF) { const MachineLoopInfo *MLI = &getAnalysis<MachineLoopInfo>(); if (MLI->empty()) diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index b4a0bc2b7a..c93ecdab47 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -70,7 +70,7 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, PM.add(createMachineFunctionPrinterPass(cerr)); if (OptLevel != CodeGenOpt::None) - PM.add(createLoopAlignerPass()); + PM.add(createCodePlacementOptPass()); switch (FileType) { default: |