LLVM API Documentation
#include <BranchFolding.h>
Public Member Functions | |
BranchFolder (bool defaultEnableTailMerge, bool CommonHoist) | |
bool | OptimizeFunction (MachineFunction &MF, const TargetInstrInfo *tii, const TargetRegisterInfo *tri, MachineModuleInfo *mmi) |
Definition at line 24 of file BranchFolding.h.
Definition at line 94 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 174 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(), MRI, llvm::MachineJumpTableInfo::RemoveJumpTable(), llvm::TargetRegisterInfo::trackLivenessAfterRegAlloc(), and llvm::MachineRegisterInfo::tracksLiveness().
Referenced by INITIALIZE_PASS().