LLVM 20.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.
Referenced by runOnBasicBlock().
|
static |
Definition at line 76 of file MIRCanonicalizerPass.cpp.
References llvm::append_range().
INITIALIZE_PASS_BEGIN | ( | MIRCanonicalizer | , |
"mir-canonicalizer" | , | ||
"Rename Register Operands Canonically" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 290 of file MIRCanonicalizerPass.cpp.
References Copies, llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::MachineBasicBlock::instrs(), MBB, MI, MRI, and Uses.
Referenced by runOnBasicBlock().
|
static |
Definition at line 124 of file MIRCanonicalizerPass.cpp.
References llvm::MachineBasicBlock::begin(), llvm::dbgs(), llvm::MachineOperand::dump(), llvm::find_if(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), II, llvm::MachineBasicBlock::instr_begin(), llvm::MachineBasicBlock::instr_end(), llvm::MachineBasicBlock::instrs(), llvm::is_contained(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::Register::isVirtual(), LLVM_DEBUG, MBB, MI, MRI, rescheduleLexographically(), and llvm::MachineBasicBlock::splice().
Referenced by runOnBasicBlock().
|
static |
Definition at line 87 of file MIRCanonicalizerPass.cpp.
References llvm::dbgs(), llvm::raw_ostream::flush(), II, instructions, LLVM_DEBUG, MBB, OS, llvm::sort(), and llvm::MachineBasicBlock::splice().
Referenced by rescheduleCanonically().
|
static |
Definition at line 359 of file MIRCanonicalizerPass.cpp.
References llvm::dbgs(), doDefKillClear(), llvm::MachineBasicBlock::dump(), llvm::MachineBasicBlock::getName(), LLVM_DEBUG, MBB, propagateLocalCopies(), llvm::VRegRenamer::renameVRegs(), and rescheduleCanonically().
Referenced by INITIALIZE_PASS().
|
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.