LLVM: lib/CodeGen/MIRCanonicalizerPass.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "mir-canonicalizer"
Functions
INITIALIZE_PASS_BEGIN (MIRCanonicalizer, "mir-canonicalizer", "Rename Register Operands Canonically", false, false) INITIALIZE_PASS_END(MIRCanonicalizer
mir Rename Register Operands static false std::vector< MachineBasicBlock * > GetRPOList (MachineFunction &MF)
static bool rescheduleLexographically (std::vector< MachineInstr * > instructions, MachineBasicBlock *MBB, std::function< MachineBasicBlock::iterator()> getPos)
static bool rescheduleCanonically (unsigned &PseudoIdempotentInstCount, MachineBasicBlock *MBB)
static bool propagateLocalCopies (MachineBasicBlock *MBB)
static bool doDefKillClear (MachineBasicBlock *MBB)
static bool runOnBasicBlock (MachineBasicBlock *MBB, unsigned BasicBlockNum, VRegRenamer &Renamer)

DEBUG_TYPE

#define DEBUG_TYPE "mir-canonicalizer"

doDefKillClear()

GetRPOList()

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( MIRCanonicalizer ,
"mir-canonicalizer" ,
"Rename Register Operands Canonically" ,
false ,
false )

propagateLocalCopies()

rescheduleCanonically()

Definition at line 124 of file MIRCanonicalizerPass.cpp.

References Changed, llvm::dbgs(), llvm::MachineOperand::dump(), E(), llvm::find_if(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), II, llvm::is_contained(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::Register::isVirtual(), LLVM_DEBUG, MBB, MI, MRI, and rescheduleLexographically().

Referenced by runOnBasicBlock().

rescheduleLexographically()

runOnBasicBlock()

CanonicalizeFunctionNumber

canonicalizer

Canonically

mir Rename Register Operands Canonically

false