|
LLVM 23.0.0git
|
#include "llvm/CodeGen/MachineIDFSSAUpdater.h"
Public Member Functions | |
| MachineIDFSSAUpdater (MachineDominatorTree &DT, MachineFunction &MF, const MachineRegisterInfo::VRegAttrs &RegAttr) | |
| MachineIDFSSAUpdater (MachineDominatorTree &DT, MachineFunction &MF, Register Reg) | |
| void | addAvailableValue (MachineBasicBlock *BB, Register V) |
| Indicate that a rewritten value is available in the specified block with the specified value. | |
| void | addUseBlock (MachineBasicBlock *BB) |
| Record a basic block that uses the value. | |
| void | calculate () |
| Calculate and insert necessary PHI nodes for SSA form. | |
| Register | getValueInMiddleOfBlock (MachineBasicBlock *BB) |
| See SSAUpdater::GetValueInMiddleOfBlock description. | |
Definition at line 28 of file MachineIDFSSAUpdater.h.
|
inline |
Definition at line 51 of file MachineIDFSSAUpdater.h.
Referenced by MachineIDFSSAUpdater().
|
inline |
Definition at line 56 of file MachineIDFSSAUpdater.h.
References MachineIDFSSAUpdater(), and Reg.
|
inline |
Indicate that a rewritten value is available in the specified block with the specified value.
Must be called before invoking Calculate().
Definition at line 62 of file MachineIDFSSAUpdater.h.
|
inline |
Record a basic block that uses the value.
This method should be called for every basic block where the value will be used. Must be called before invoking Calculate().
Definition at line 69 of file MachineIDFSSAUpdater.h.
| void MachineIDFSSAUpdater::calculate | ( | ) |
Calculate and insert necessary PHI nodes for SSA form.
Perform all the necessary updates, including new PHI-nodes insertion and the requested uses update.
Must be called after registering all definitions and uses.
Definition at line 146 of file MachineIDFSSAUpdater.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), computeLiveInBlocks(), llvm::MachineBasicBlock::front(), llvm::MachineBasicBlock::getParent(), llvm::SmallPtrSetImpl< PtrType >::insert(), PHI, llvm::MachineBasicBlock::predecessors(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::setDefiningBlocks(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::setLiveInBlocks(), and llvm::SmallPtrSetImplBase::size().
| Register MachineIDFSSAUpdater::getValueInMiddleOfBlock | ( | MachineBasicBlock * | BB | ) |
See SSAUpdater::GetValueInMiddleOfBlock description.
Definition at line 184 of file MachineIDFSSAUpdater.cpp.