14 #ifndef LLVM_CODEGEN_MACHINESSAUPDATER_H 15 #define LLVM_CODEGEN_MACHINESSAUPDATER_H 19 class MachineBasicBlock;
20 class MachineFunction;
23 class MachineRegisterInfo;
24 class TargetInstrInfo;
25 class TargetRegisterClass;
26 template<
typename T>
class SmallVectorImpl;
113 #endif // LLVM_CODEGEN_MACHINESSAUPDATER_H This class represents lattice values for constants.
void RewriteUse(MachineOperand &U)
RewriteUse - Rewrite a use of the symbolic value.
MachineSSAUpdater - This class updates SSA form for a set of virtual registers defined in multiple bl...
unsigned GetValueAtEndOfBlock(MachineBasicBlock *BB)
GetValueAtEndOfBlock - Construct SSA form, materializing a value that is live at the end of the speci...
const HexagonInstrInfo * TII
MachineSSAUpdater(MachineFunction &MF, SmallVectorImpl< MachineInstr *> *NewPHI=nullptr)
MachineSSAUpdater constructor.
void Initialize(unsigned V)
Initialize - Reset this object to get ready for a new set of SSA updates.
MachineSSAUpdater & operator=(const MachineSSAUpdater &)=delete
TargetInstrInfo - Interface to description of machine instruction set.
unsigned const MachineRegisterInfo * MRI
MachineOperand class - Representation of each machine instruction operand.
MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc.
bool HasValueForBlock(MachineBasicBlock *BB) const
HasValueForBlock - Return true if the MachineSSAUpdater already has a value for the specified block...
unsigned GetValueInMiddleOfBlock(MachineBasicBlock *BB)
GetValueInMiddleOfBlock - Construct SSA form, materializing a value that is live in the middle of the...
void AddAvailableValue(MachineBasicBlock *BB, unsigned V)
AddAvailableValue - Indicate that a rewritten value is available at the end of the specified block wi...