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

Classes

class  PHI_iterator
 

Public Types

using BlkT = BasicBlock
 
using ValT = Value *
 
using PhiT = PHINode
 
using BlkSucc_iterator = succ_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 (BasicBlock *BB, SmallVectorImpl< BasicBlock *> *Preds)
 FindPredecessorBlocks - Put the predecessors of Info->BB into the Preds vector, set Info->NumPreds, and allocate space in Info->Preds. More...
 
static ValueGetUndefVal (BasicBlock *BB, SSAUpdater *Updater)
 GetUndefVal - Get an undefined value of the same type as the value being handled. More...
 
static ValueCreateEmptyPHI (BasicBlock *BB, unsigned NumPreds, SSAUpdater *Updater)
 CreateEmptyPHI - Create a new PHI instruction in the specified block. More...
 
static void AddPHIOperand (PHINode *PHI, Value *Val, BasicBlock *Pred)
 AddPHIOperand - Add the specified value as an operand of the PHI for the specified predecessor block. More...
 
static PHINodeInstrIsPHI (Instruction *I)
 InstrIsPHI - Check if an instruction is a PHI. More...
 
static PHINodeValueIsPHI (Value *Val, SSAUpdater *Updater)
 ValueIsPHI - Check if a value is a PHI. More...
 
static PHINodeValueIsNewPHI (Value *Val, SSAUpdater *Updater)
 ValueIsNewPHI - Like ValueIsPHI but also check if the PHI has no source operands, i.e., it was just added. More...
 
static ValueGetPHIValue (PHINode *PHI)
 GetPHIValue - For the specified PHI instruction, return the value that it defines. More...
 

Detailed Description

template<>
class llvm::SSAUpdaterTraits< SSAUpdater >

Definition at line 219 of file SSAUpdater.cpp.

Member Typedef Documentation

◆ BlkSucc_iterator

Definition at line 224 of file SSAUpdater.cpp.

◆ BlkT

Definition at line 221 of file SSAUpdater.cpp.

◆ PhiT

Definition at line 223 of file SSAUpdater.cpp.

◆ ValT

Definition at line 222 of file SSAUpdater.cpp.

Member Function Documentation

◆ AddPHIOperand()

static void llvm::SSAUpdaterTraits< SSAUpdater >::AddPHIOperand ( PHINode PHI,
Value Val,
BasicBlock Pred 
)
inlinestatic

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

Definition at line 285 of file SSAUpdater.cpp.

References llvm::PHINode::addIncoming().

◆ BlkSucc_begin()

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

Definition at line 226 of file SSAUpdater.cpp.

References llvm::succ_begin().

◆ BlkSucc_end()

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

Definition at line 227 of file SSAUpdater.cpp.

References llvm::succ_end().

◆ CreateEmptyPHI()

static Value* llvm::SSAUpdaterTraits< SSAUpdater >::CreateEmptyPHI ( BasicBlock BB,
unsigned  NumPreds,
SSAUpdater Updater 
)
inlinestatic

CreateEmptyPHI - Create a new PHI instruction in the specified block.

Reserve space for the operands but do not fill them in yet.

Definition at line 276 of file SSAUpdater.cpp.

References llvm::PHINode::Create(), and llvm::BasicBlock::front().

◆ FindPredecessorBlocks()

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

FindPredecessorBlocks - Put the predecessors of Info->BB into the Preds vector, set Info->NumPreds, and allocate space in Info->Preds.

Definition at line 255 of file SSAUpdater.cpp.

References llvm::SmallVectorImpl< T >::append(), llvm::BasicBlock::begin(), E, llvm::pred_begin(), llvm::pred_end(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

◆ GetPHIValue()

static Value* llvm::SSAUpdaterTraits< SSAUpdater >::GetPHIValue ( PHINode PHI)
inlinestatic

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

Definition at line 311 of file SSAUpdater.cpp.

References getAvailableVals(), llvm::SSAUpdaterImpl< UpdaterT >::GetValue(), and llvm::LoadAndStorePromoter::LoadAndStorePromoter().

◆ GetUndefVal()

static Value* llvm::SSAUpdaterTraits< SSAUpdater >::GetUndefVal ( BasicBlock BB,
SSAUpdater Updater 
)
inlinestatic

GetUndefVal - Get an undefined value of the same type as the value being handled.

Definition at line 270 of file SSAUpdater.cpp.

References llvm::UndefValue::get().

◆ InstrIsPHI()

static PHINode* llvm::SSAUpdaterTraits< SSAUpdater >::InstrIsPHI ( Instruction I)
inlinestatic

InstrIsPHI - Check if an instruction is a PHI.

Definition at line 291 of file SSAUpdater.cpp.

References llvm::dyn_cast(), and I.

◆ PHI_begin()

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

Definition at line 248 of file SSAUpdater.cpp.

◆ PHI_end()

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

Definition at line 249 of file SSAUpdater.cpp.

◆ ValueIsNewPHI()

static PHINode* llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsNewPHI ( Value Val,
SSAUpdater Updater 
)
inlinestatic

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

Definition at line 302 of file SSAUpdater.cpp.

References llvm::PHINode::getNumIncomingValues().

◆ ValueIsPHI()

static PHINode* llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsPHI ( Value Val,
SSAUpdater Updater 
)
inlinestatic

ValueIsPHI - Check if a value is a PHI.

Definition at line 296 of file SSAUpdater.cpp.

References llvm::dyn_cast().


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