|
LLVM
3.7.0
|
#include <BranchFolding.h>
Public Member Functions | |
| BranchFolder (bool defaultEnableTailMerge, bool CommonHoist, const MachineBlockFrequencyInfo &MBFI, const MachineBranchProbabilityInfo &MBPI) | |
| bool | OptimizeFunction (MachineFunction &MF, const TargetInstrInfo *tii, const TargetRegisterInfo *tri, MachineModuleInfo *mmi) |
| OptimizeFunction - Perhaps branch folding, tail merging and other CFG optimizations on the given function. More... | |
Definition at line 27 of file BranchFolding.h.
|
explicit |
Definition at line 107 of file BranchFolding.cpp.
References llvm::cl::BOU_FALSE, llvm::cl::BOU_TRUE, llvm::cl::BOU_UNSET, and FlagEnableTailMerge.
| bool BranchFolder::OptimizeFunction | ( | MachineFunction & | MF, |
| const TargetInstrInfo * | tii, | ||
| const TargetRegisterInfo * | tri, | ||
| MachineModuleInfo * | mmi | ||
| ) |
OptimizeFunction - Perhaps branch folding, tail merging and other CFG optimizations on the given function.
Definition at line 189 of file BranchFolding.cpp.
References llvm::TargetInstrInfo::AnalyzeBranch(), llvm::MachineFunction::begin(), llvm::MachineBasicBlock::CorrectExtraCFGEdges(), llvm::SmallVectorBase::empty(), llvm::MachineFunction::end(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineJumpTableInfo::getJumpTables(), llvm::MachineFunction::getRegInfo(), I, llvm::MachineRegisterInfo::invalidateLiveness(), llvm::MachineOperand::isJTI(), op, llvm::MachineJumpTableInfo::RemoveJumpTable(), llvm::TargetRegisterInfo::trackLivenessAfterRegAlloc(), and llvm::MachineRegisterInfo::tracksLiveness().
Referenced by INITIALIZE_PASS().
1.8.6