LLVM 17.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
llvm::GenericSSAContext< Function > Class Reference

#include "llvm/IR/SSAContext.h"

Collaboration diagram for llvm::GenericSSAContext< Function >:
Collaboration graph
[legend]

Public Types

using BlockT = BasicBlock
 
using FunctionT = Function
 
using InstructionT = Instruction
 
using ValueRefT = Value *
 
using ConstValueRefT = const Value *
 
using UseT = Use
 
using DominatorTreeT = DominatorTreeBase< BlockT, false >
 

Public Member Functions

void setFunction (Function &Fn)
 
FunctiongetFunction () const
 
const BasicBlockgetDefBlock (const Value *value) const
 
Printable print (const BasicBlock *Block) const
 
Printable print (const Instruction *Inst) const
 
Printable print (const Value *Value) const
 

Static Public Member Functions

static BasicBlockgetEntryBlock (Function &F)
 
static const BasicBlockgetEntryBlock (const Function &F)
 
static void appendBlockDefs (SmallVectorImpl< Value * > &defs, BasicBlock &block)
 
static void appendBlockDefs (SmallVectorImpl< const Value * > &defs, const BasicBlock &block)
 
static void appendBlockTerms (SmallVectorImpl< Instruction * > &terms, BasicBlock &block)
 
static void appendBlockTerms (SmallVectorImpl< const Instruction * > &terms, const BasicBlock &block)
 
static bool comesBefore (const Instruction *lhs, const Instruction *rhs)
 
static bool isConstantOrUndefValuePhi (const Instruction &Instr)
 

Static Public Attributes

static ValueValueRefNull = nullptr
 

Detailed Description

Definition at line 37 of file SSAContext.h.

Member Typedef Documentation

◆ BlockT

Definition at line 41 of file SSAContext.h.

◆ ConstValueRefT

using llvm::GenericSSAContext< Function >::ConstValueRefT = const Value *

Definition at line 45 of file SSAContext.h.

◆ DominatorTreeT

using llvm::GenericSSAContext< Function >::DominatorTreeT = DominatorTreeBase<BlockT, false>

Definition at line 48 of file SSAContext.h.

◆ FunctionT

using llvm::GenericSSAContext< Function >::FunctionT = Function

Definition at line 42 of file SSAContext.h.

◆ InstructionT

using llvm::GenericSSAContext< Function >::InstructionT = Instruction

Definition at line 43 of file SSAContext.h.

◆ UseT

Definition at line 47 of file SSAContext.h.

◆ ValueRefT

using llvm::GenericSSAContext< Function >::ValueRefT = Value *

Definition at line 44 of file SSAContext.h.

Member Function Documentation

◆ appendBlockDefs() [1/2]

void SSAContext::appendBlockDefs ( SmallVectorImpl< const Value * > &  defs,
const BasicBlock block 
)
static

◆ appendBlockDefs() [2/2]

void SSAContext::appendBlockDefs ( SmallVectorImpl< Value * > &  defs,
BasicBlock block 
)
static

◆ appendBlockTerms() [1/2]

void SSAContext::appendBlockTerms ( SmallVectorImpl< const Instruction * > &  terms,
const BasicBlock block 
)
static

Definition at line 63 of file SSAContext.cpp.

References block, and llvm::SmallVectorTemplateBase< T, bool >::push_back().

◆ appendBlockTerms() [2/2]

void SSAContext::appendBlockTerms ( SmallVectorImpl< Instruction * > &  terms,
BasicBlock block 
)
static

Definition at line 58 of file SSAContext.cpp.

References block, and llvm::SmallVectorTemplateBase< T, bool >::push_back().

◆ comesBefore()

bool SSAContext::comesBefore ( const Instruction lhs,
const Instruction rhs 
)
static

Definition at line 74 of file SSAContext.cpp.

References llvm::Instruction::comesBefore().

◆ getDefBlock()

const BasicBlock * SSAContext::getDefBlock ( const Value value) const

Definition at line 68 of file SSAContext.cpp.

References value.

◆ getEntryBlock() [1/2]

const BasicBlock * SSAContext::getEntryBlock ( const Function F)
static

Definition at line 33 of file SSAContext.cpp.

References F.

◆ getEntryBlock() [2/2]

BasicBlock * SSAContext::getEntryBlock ( Function F)
static

Definition at line 29 of file SSAContext.cpp.

References F.

◆ getFunction()

Function * llvm::GenericSSAContext< Function >::getFunction ( ) const
inline

Definition at line 51 of file SSAContext.h.

References F.

◆ isConstantOrUndefValuePhi()

bool SSAContext::isConstantOrUndefValuePhi ( const Instruction Instr)
static

Definition at line 78 of file SSAContext.cpp.

◆ print() [1/3]

Printable SSAContext::print ( const BasicBlock Block) const

◆ print() [2/3]

Printable SSAContext::print ( const Instruction Inst) const

Definition at line 88 of file SSAContext.cpp.

References llvm::print().

◆ print() [3/3]

Printable SSAContext::print ( const Value Value) const

Definition at line 84 of file SSAContext.cpp.

◆ setFunction()

void SSAContext::setFunction ( Function Fn)

Definition at line 27 of file SSAContext.cpp.

References F.

Member Data Documentation

◆ ValueRefNull

Value * SSAContext::ValueRefNull = nullptr
static

Definition at line 46 of file SSAContext.h.


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