LLVM  10.0.0svn
Namespaces | Macros | Functions | Variables
MIRCanonicalizerPass.cpp File Reference
#include "MIRVRegNamerUtils.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <queue>
Include dependency graph for MIRCanonicalizerPass.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 

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, std::vector< StringRef > &bbNames, unsigned &basicBlockNum, NamedVRegCursor &NVC)
 

Variables

charllvm::MIRCanonicalizerID = MIRCanonicalizer::ID
 
static cl::opt< unsignedCanonicalizeFunctionNumber ("canon-nth-function", cl::Hidden, cl::init(~0u), cl::value_desc("N"), cl::desc("Function number to canonicalize."))
 
static cl::opt< unsignedCanonicalizeBasicBlockNumber ("canon-nth-basicblock", cl::Hidden, cl::init(~0u), cl::value_desc("N"), cl::desc("BasicBlock 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 44 of file MIRCanonicalizerPass.cpp.

Function Documentation

◆ doDefKillClear()

static bool doDefKillClear ( MachineBasicBlock MBB)
static

Definition at line 353 of file MIRCanonicalizerPass.cpp.

References MI.

Referenced by runOnBasicBlock().

◆ GetRPOList()

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

Definition at line 86 of file MIRCanonicalizerPass.cpp.

Referenced by runOnBasicBlock().

◆ INITIALIZE_PASS_BEGIN()

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

◆ propagateLocalCopies()

static bool propagateLocalCopies ( MachineBasicBlock MBB)
static

◆ rescheduleCanonically()

static bool rescheduleCanonically ( unsigned PseudoIdempotentInstCount,
MachineBasicBlock MBB 
)
static

◆ rescheduleLexographically()

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

◆ runOnBasicBlock()

static bool runOnBasicBlock ( MachineBasicBlock MBB,
std::vector< StringRef > &  bbNames,
unsigned basicBlockNum,
NamedVRegCursor NVC 
)
static

Variable Documentation

◆ CanonicalizeBasicBlockNumber

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

Referenced by runOnBasicBlock().

◆ CanonicalizeFunctionNumber

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

Referenced by runOnBasicBlock().

◆ canonicalizer

mir canonicalizer

Definition at line 83 of file MIRCanonicalizerPass.cpp.

◆ Canonically

mir Rename Register Operands Canonically

Definition at line 83 of file MIRCanonicalizerPass.cpp.

◆ false

mir Rename Register Operands false

Definition at line 83 of file MIRCanonicalizerPass.cpp.