summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a5810ad)
raw | patch | inline | side by side (parent: a5810ad)
author | Dan Gohman <gohman@apple.com> | |
Thu, 12 Nov 2009 01:59:26 +0000 (01:59 +0000) | ||
committer | Dan Gohman <gohman@apple.com> | |
Thu, 12 Nov 2009 01:59:26 +0000 (01:59 +0000) |
lib/CodeGen/BranchFolding.cpp | patch | blob | history | |
lib/CodeGen/BranchFolding.h | patch | blob | history |
index f7d57b1c74f05d55940f097bd119d3f3adf7cfbc..dd17d881c51393f8d9121e93ee13928fb59e2f79 100644 (file)
cl::desc("Min number of instructions to consider tail merging"),
cl::init(3), cl::Hidden);
+namespace {
+ /// BranchFolderPass - Wrap branch folder in a machine function pass.
+ class BranchFolderPass : public MachineFunctionPass,
+ public BranchFolder {
+ public:
+ static char ID;
+ explicit BranchFolderPass(bool defaultEnableTailMerge)
+ : MachineFunctionPass(&ID), BranchFolder(defaultEnableTailMerge) {}
+
+ virtual bool runOnMachineFunction(MachineFunction &MF);
+ virtual const char *getPassName() const { return "Control Flow Optimizer"; }
+ };
+}
+
char BranchFolderPass::ID = 0;
FunctionPass *llvm::createBranchFoldingPass(bool DefaultEnableTailMerge) {
index 864358c9c8ac1a135f52d30e419cf9efbc3917c2..648ec92b1eb60fc10f3378a96e4d0df01f08bf7f 100644 (file)
#define LLVM_CODEGEN_BRANCHFOLDING_HPP
#include "llvm/CodeGen/MachineBasicBlock.h"
-#include "llvm/CodeGen/MachineFunctionPass.h"
#include <vector>
namespace llvm {
class RegScavenger;
class TargetInstrInfo;
class TargetRegisterInfo;
+ template<typename T> class SmallVectorImpl;
class BranchFolder {
public:
MachineBasicBlock *TBB, MachineBasicBlock *FBB,
const SmallVectorImpl<MachineOperand> &Cond);
};
-
-
- /// BranchFolderPass - Wrap branch folder in a machine function pass.
- class BranchFolderPass : public MachineFunctionPass,
- public BranchFolder {
- public:
- static char ID;
- explicit BranchFolderPass(bool defaultEnableTailMerge)
- : MachineFunctionPass(&ID), BranchFolder(defaultEnableTailMerge) {}
-
- virtual bool runOnMachineFunction(MachineFunction &MF);
- virtual const char *getPassName() const { return "Control Flow Optimizer"; }
- };
}
#endif /* LLVM_CODEGEN_BRANCHFOLDING_HPP */