Go to the documentation of this file.
13 #ifndef LLVM_CODEGEN_MACHINESSAUPDATER_H
14 #define LLVM_CODEGEN_MACHINESSAUPDATER_H
20 class MachineBasicBlock;
21 class MachineFunction;
24 class MachineRegisterInfo;
25 class TargetInstrInfo;
26 class TargetRegisterClass;
27 template<
typename T>
class SmallVectorImpl;
100 bool ExistingValueOnly =
false);
113 bool ExistingValueOnly =
false);
118 #endif // LLVM_CODEGEN_MACHINESSAUPDATER_H
This is an optimization pass for GlobalISel generic memory operations.
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
MachineSSAUpdater & operator=(const MachineSSAUpdater &)=delete
TargetInstrInfo - Interface to description of machine instruction set.
const HexagonInstrInfo * TII
MachineOperand class - Representation of each machine instruction operand.
MachineSSAUpdater(MachineFunction &MF, SmallVectorImpl< MachineInstr * > *NewPHI=nullptr)
MachineSSAUpdater constructor.
bool HasValueForBlock(MachineBasicBlock *BB) const
HasValueForBlock - Return true if the MachineSSAUpdater already has a value for the specified block.
unsigned const MachineRegisterInfo * MRI
Wrapper class representing virtual and physical registers.
Register GetValueAtEndOfBlock(MachineBasicBlock *BB)
GetValueAtEndOfBlock - Construct SSA form, materializing a value that is live at the end of the speci...
void RewriteUse(MachineOperand &U)
RewriteUse - Rewrite a use of the symbolic value.
Register GetValueInMiddleOfBlock(MachineBasicBlock *BB, bool ExistingValueOnly=false)
GetValueInMiddleOfBlock - Construct SSA form, materializing a value that is live in the middle of the...
MachineSSAUpdater - This class updates SSA form for a set of virtual registers defined in multiple bl...
Common register allocation spilling lr str ldr sxth r3 ldr mla r4 can lr mov lr str ldr sxth r3 mla r4 and then merge mul and lr str ldr sxth r3 mla r4 It also increase the likelihood the store may become dead bb27 Successors according to LLVM BB
void AddAvailableValue(MachineBasicBlock *BB, Register V)
AddAvailableValue - Indicate that a rewritten value is available at the end of the specified block wi...
void Initialize(Register V)
Initialize - Reset this object to get ready for a new set of SSA updates.