LLVM 22.0.0git
|
#include "MIRVRegNamerUtils.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
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< unsigned > | CanonicalizeFunctionNumber ("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 |
#define DEBUG_TYPE "mir-canonicalizer" |
Definition at line 38 of file MIRCanonicalizerPass.cpp.
|
static |
Definition at line 337 of file MIRCanonicalizerPass.cpp.
References Changed, MBB, and MI.
Referenced by runOnBasicBlock().
|
static |
Definition at line 76 of file MIRCanonicalizerPass.cpp.
References llvm::append_range(), and GetRPOList().
Referenced by GetRPOList().
INITIALIZE_PASS_BEGIN | ( | MIRCanonicalizer | , |
"mir-canonicalizer" | , | ||
"Rename Register Operands Canonically" | , | ||
false | , | ||
false | ) |
|
static |
Definition at line 290 of file MIRCanonicalizerPass.cpp.
References Changed, Copies, MBB, MI, MRI, and Uses.
Referenced by runOnBasicBlock().
|
static |
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().
|
static |
Definition at line 87 of file MIRCanonicalizerPass.cpp.
References Changed, llvm::dbgs(), llvm::raw_ostream::flush(), II, instructions, LLVM_DEBUG, MBB, and llvm::sort().
Referenced by rescheduleCanonically().
|
static |
Definition at line 359 of file MIRCanonicalizerPass.cpp.
References Changed, llvm::dbgs(), doDefKillClear(), LLVM_DEBUG, MBB, propagateLocalCopies(), and rescheduleCanonically().
Referenced by INITIALIZE_PASS(), INITIALIZE_PASS(), and llvm::SpeculativeExecutionPass::runImpl().
|
static |
mir canonicalizer |
Definition at line 73 of file MIRCanonicalizerPass.cpp.
Definition at line 74 of file MIRCanonicalizerPass.cpp.
Definition at line 74 of file MIRCanonicalizerPass.cpp.