LLVM 22.0.0git
MIRCanonicalizerPass.cpp File Reference

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)

Variables

static cl::opt< unsignedCanonicalizeFunctionNumber ("canon-nth-function", cl::Hidden, cl::init(~0u), cl::value_desc("N"), cl::desc("Function number to canonicalize."))
mir canonicalizer
mir Rename Register Operands Canonically
mir Rename Register Operands false

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "mir-canonicalizer"

Definition at line 38 of file MIRCanonicalizerPass.cpp.

Function Documentation

◆ doDefKillClear()

bool doDefKillClear ( MachineBasicBlock * MBB)
static

Definition at line 337 of file MIRCanonicalizerPass.cpp.

References Changed, MBB, and MI.

Referenced by runOnBasicBlock().

◆ GetRPOList()

mir Rename Register Operands static false std::vector< MachineBasicBlock * > GetRPOList ( MachineFunction & MF)
static

Definition at line 76 of file MIRCanonicalizerPass.cpp.

References llvm::append_range(), and GetRPOList().

Referenced by GetRPOList().

◆ INITIALIZE_PASS_BEGIN()

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

◆ propagateLocalCopies()

bool propagateLocalCopies ( MachineBasicBlock * MBB)
static

Definition at line 290 of file MIRCanonicalizerPass.cpp.

References Changed, Copies, MBB, MI, MRI, and Uses.

Referenced by runOnBasicBlock().

◆ rescheduleCanonically()

◆ rescheduleLexographically()

bool rescheduleLexographically ( std::vector< MachineInstr * > instructions,
MachineBasicBlock * MBB,
std::function< MachineBasicBlock::iterator()> getPos )
static

◆ runOnBasicBlock()

Variable Documentation

◆ CanonicalizeFunctionNumber

cl::opt< unsigned > CanonicalizeFunctionNumber("canon-nth-function", cl::Hidden, cl::init(~0u), cl::value_desc("N"), cl::desc("Function number to canonicalize.")) ( "canon-nth-function" ,
cl::Hidden ,
cl::init(~0u) ,
cl::value_desc("N") ,
cl::desc("Function number to canonicalize.")  )
static

◆ canonicalizer

mir canonicalizer

Definition at line 73 of file MIRCanonicalizerPass.cpp.

◆ Canonically

mir Rename Register Operands Canonically

Definition at line 74 of file MIRCanonicalizerPass.cpp.

◆ false

mir Rename Register Operands false

Definition at line 74 of file MIRCanonicalizerPass.cpp.