17#ifndef LLVM_LIB_CODEGEN_MIRVREGNAMERUTILS_H
18#define LLVM_LIB_CODEGEN_MIRVREGNAMERUTILS_H
41 NamedVReg(std::string Name =
"") :
Reg(~0U), Name(Name) {}
43 const std::string &
getName()
const {
return Name; }
50 unsigned CurrentBBNumber = 0;
64 std::map<Register, Register>
65 getVRegRenameMap(
const std::vector<NamedVReg> &VRegs);
68 bool doVRegRenaming(
const std::map<Register, Register> &
VRegRenameMap);
90 CurrentBBNumber = BBNum;
91 return renameInstsInMBB(
MBB);
std::map< Register, Register > VRegRenameMap
static unsigned getReg(const MCDisassembler *D, unsigned RC, unsigned RegNo)
static StringRef getName(Value *V)
Representation of each machine instruction.
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
Wrapper class representing virtual and physical registers.
StringRef - Represent a constant reference to a string, i.e.
VRegRenamer(MachineRegisterInfo &MRI)
bool renameVRegs(MachineBasicBlock *MBB, unsigned BBNum)
Same as the above, but sets a BBNum depending on BB traversal that will be used as prefix for the vre...
This is an optimization pass for GlobalISel generic memory operations.