LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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)
 
static unsigned GetUndefVal (MachineBasicBlock *BB, MachineSSAUpdater *Updater)
 
static unsigned CreateEmptyPHI (MachineBasicBlock *BB, unsigned NumPreds, MachineSSAUpdater *Updater)
 
static void AddPHIOperand (MachineInstr *PHI, unsigned Val, MachineBasicBlock *Pred)
 
static MachineInstrInstrIsPHI (MachineInstr *I)
 
static MachineInstrValueIsPHI (unsigned Val, MachineSSAUpdater *Updater)
 
static MachineInstrValueIsNewPHI (unsigned Val, MachineSSAUpdater *Updater)
 
static unsigned GetPHIValue (MachineInstr *PHI)
 

Detailed Description

template<>
class llvm::SSAUpdaterTraits< MachineSSAUpdater >

Definition at line 247 of file MachineSSAUpdater.cpp.

Member Typedef Documentation

Definition at line 253 of file MachineSSAUpdater.cpp.

Definition at line 249 of file MachineSSAUpdater.cpp.

Definition at line 251 of file MachineSSAUpdater.cpp.

Definition at line 250 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 316 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 254 of file MachineSSAUpdater.cpp.

References llvm::MachineBasicBlock::succ_begin().

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

Definition at line 255 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 305 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 284 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 346 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 293 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 323 of file MachineSSAUpdater.cpp.

References llvm::MachineInstr::isPHI().

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

Definition at line 277 of file MachineSSAUpdater.cpp.

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

Definition at line 278 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 337 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 331 of file MachineSSAUpdater.cpp.

References llvm::MachineRegisterInfo::getVRegDef().


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