LLVM  3.7.0
Classes | Public Types | Static Public Member Functions | List of all members
llvm::SSAUpdaterTraits< MachineSSAUpdater > Class Template Reference

Classes

class  PHI_iterator
 Iterator for PHI operands. More...
 

Public Types

typedef MachineBasicBlock BlkT
 
typedef unsigned ValT
 
typedef MachineInstr PhiT
 
typedef
MachineBasicBlock::succ_iterator 
BlkSucc_iterator
 

Static Public Member Functions

static BlkSucc_iterator BlkSucc_begin (BlkT *BB)
 
static BlkSucc_iterator BlkSucc_end (BlkT *BB)
 
static PHI_iterator PHI_begin (PhiT *PHI)
 
static PHI_iterator PHI_end (PhiT *PHI)
 
static void FindPredecessorBlocks (MachineBasicBlock *BB, SmallVectorImpl< MachineBasicBlock * > *Preds)
 FindPredecessorBlocks - Put the predecessors of BB into the Preds vector. More...
 
static unsigned GetUndefVal (MachineBasicBlock *BB, MachineSSAUpdater *Updater)
 GetUndefVal - Create an IMPLICIT_DEF instruction with a new register. More...
 
static unsigned CreateEmptyPHI (MachineBasicBlock *BB, unsigned NumPreds, MachineSSAUpdater *Updater)
 CreateEmptyPHI - Create a PHI instruction that defines a new register. More...
 
static void AddPHIOperand (MachineInstr *PHI, unsigned Val, MachineBasicBlock *Pred)
 AddPHIOperand - Add the specified value as an operand of the PHI for the specified predecessor block. More...
 
static MachineInstrInstrIsPHI (MachineInstr *I)
 InstrIsPHI - Check if an instruction is a PHI. More...
 
static MachineInstrValueIsPHI (unsigned Val, MachineSSAUpdater *Updater)
 ValueIsPHI - Check if the instruction that defines the specified register is a PHI instruction. More...
 
static MachineInstrValueIsNewPHI (unsigned Val, MachineSSAUpdater *Updater)
 ValueIsNewPHI - Like ValueIsPHI but also check if the PHI has no source operands, i.e., it was just added. More...
 
static unsigned GetPHIValue (MachineInstr *PHI)
 GetPHIValue - For the specified PHI instruction, return the register that it defines. More...
 

Detailed Description

template<>
class llvm::SSAUpdaterTraits< MachineSSAUpdater >

Definition at line 239 of file MachineSSAUpdater.cpp.

Member Typedef Documentation

Definition at line 245 of file MachineSSAUpdater.cpp.

Definition at line 241 of file MachineSSAUpdater.cpp.

Definition at line 243 of file MachineSSAUpdater.cpp.

Definition at line 242 of file MachineSSAUpdater.cpp.

Member Function Documentation

static void llvm::SSAUpdaterTraits< MachineSSAUpdater >::AddPHIOperand ( MachineInstr PHI,
unsigned  Val,
MachineBasicBlock Pred 
)
inlinestatic

AddPHIOperand - Add the specified value as an operand of the PHI for the specified predecessor block.

Definition at line 308 of file MachineSSAUpdater.cpp.

References llvm::MachineInstrBuilder::addMBB(), llvm::MachineBasicBlock::getParent(), and llvm::TargetOpcode::PHI.

static BlkSucc_iterator llvm::SSAUpdaterTraits< MachineSSAUpdater >::BlkSucc_begin ( BlkT BB)
inlinestatic

Definition at line 246 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::succ_begin().

static BlkSucc_iterator llvm::SSAUpdaterTraits< MachineSSAUpdater >::BlkSucc_end ( BlkT BB)
inlinestatic

Definition at line 247 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::succ_end().

static unsigned llvm::SSAUpdaterTraits< MachineSSAUpdater >::CreateEmptyPHI ( MachineBasicBlock BB,
unsigned  NumPreds,
MachineSSAUpdater Updater 
)
inlinestatic

CreateEmptyPHI - Create a PHI instruction that defines a new register.

Add it into the specified block and return the register.

Definition at line 297 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), InsertNewDef(), and llvm::TargetOpcode::PHI.

static void llvm::SSAUpdaterTraits< MachineSSAUpdater >::FindPredecessorBlocks ( MachineBasicBlock BB,
SmallVectorImpl< MachineBasicBlock * > *  Preds 
)
inlinestatic

FindPredecessorBlocks - Put the predecessors of BB into the Preds vector.

Definition at line 276 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_end(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().

static unsigned llvm::SSAUpdaterTraits< MachineSSAUpdater >::GetPHIValue ( MachineInstr PHI)
inlinestatic

GetPHIValue - For the specified PHI instruction, return the register that it defines.

Definition at line 338 of file MachineSSAUpdater.cpp.

References llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().

static unsigned llvm::SSAUpdaterTraits< MachineSSAUpdater >::GetUndefVal ( MachineBasicBlock BB,
MachineSSAUpdater Updater 
)
inlinestatic

GetUndefVal - Create an IMPLICIT_DEF instruction with a new register.

Add it into the specified block and return the register.

Definition at line 285 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::getFirstTerminator(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::TargetOpcode::IMPLICIT_DEF, and InsertNewDef().

static MachineInstr* llvm::SSAUpdaterTraits< MachineSSAUpdater >::InstrIsPHI ( MachineInstr I)
inlinestatic

InstrIsPHI - Check if an instruction is a PHI.

Definition at line 315 of file MachineSSAUpdater.cpp.

References llvm::MachineInstr::isPHI().

static PHI_iterator llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_begin ( PhiT PHI)
inlinestatic

Definition at line 269 of file MachineSSAUpdater.cpp.

static PHI_iterator llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_end ( PhiT PHI)
inlinestatic

Definition at line 270 of file MachineSSAUpdater.cpp.

static MachineInstr* llvm::SSAUpdaterTraits< MachineSSAUpdater >::ValueIsNewPHI ( unsigned  Val,
MachineSSAUpdater Updater 
)
inlinestatic

ValueIsNewPHI - Like ValueIsPHI but also check if the PHI has no source operands, i.e., it was just added.

Definition at line 329 of file MachineSSAUpdater.cpp.

References llvm::MachineInstr::getNumOperands(), and llvm::TargetOpcode::PHI.

static MachineInstr* llvm::SSAUpdaterTraits< MachineSSAUpdater >::ValueIsPHI ( unsigned  Val,
MachineSSAUpdater Updater 
)
inlinestatic

ValueIsPHI - Check if the instruction that defines the specified register is a PHI instruction.

Definition at line 323 of file MachineSSAUpdater.cpp.

References llvm::MachineRegisterInfo::getVRegDef().


The documentation for this class was generated from the following file: