LLVM 20.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
llvm::sandboxir::Context Class Reference

#include "llvm/SandboxIR/SandboxIR.h"

Public Member Functions

 Context (LLVMContext &LLVMCtx)
 
TrackergetTracker ()
 
void save ()
 Convenience function for getTracker().save()
 
void revert ()
 Convenience function for getTracker().revert()
 
void accept ()
 Convenience function for getTracker().accept()
 
sandboxir::ValuegetValue (llvm::Value *V) const
 
const sandboxir::ValuegetValue (const llvm::Value *V) const
 
FunctioncreateFunction (llvm::Function *F)
 Create a sandboxir::Function for an existing LLVM IR F, including all blocks and instructions.
 
size_t getNumValues () const
 \Returns the number of values registered with Context.
 

Protected Member Functions

std::unique_ptr< ValuedetachLLVMValue (llvm::Value *V)
 Remove V from the maps and returns the unique_ptr.
 
std::unique_ptr< Valuedetach (Value *V)
 Remove SBV from all SandboxIR maps and stop owning it.
 
ValueregisterValue (std::unique_ptr< Value > &&VPtr)
 Take ownership of VPtr and store it in LLVMValueToValueMap.
 
ValuegetOrCreateValueInternal (llvm::Value *V, llvm::User *U=nullptr)
 This is the actual function that creates sandboxir values for V, and among others handles all instruction types.
 
ArgumentgetOrCreateArgument (llvm::Argument *LLVMArg)
 Get or create a sandboxir::Argument for an existing LLVM IR LLVMArg.
 
ValuegetOrCreateValue (llvm::Value *LLVMV)
 Get or create a sandboxir::Value for an existing LLVM IR LLVMV.
 
ConstantgetOrCreateConstant (llvm::Constant *LLVMC)
 Get or create a sandboxir::Constant from an existing LLVM IR LLVMC.
 
BasicBlockcreateBasicBlock (llvm::BasicBlock *BB)
 Create a sandboxir::BasicBlock for an existing LLVM IR BB.
 
auto & getLLVMIRBuilder ()
 
SelectInstcreateSelectInst (llvm::SelectInst *SI)
 
InsertElementInstcreateInsertElementInst (llvm::InsertElementInst *IEI)
 
ExtractElementInstcreateExtractElementInst (llvm::ExtractElementInst *EEI)
 
BranchInstcreateBranchInst (llvm::BranchInst *I)
 
LoadInstcreateLoadInst (llvm::LoadInst *LI)
 
StoreInstcreateStoreInst (llvm::StoreInst *SI)
 
ReturnInstcreateReturnInst (llvm::ReturnInst *I)
 
CallInstcreateCallInst (llvm::CallInst *I)
 
InvokeInstcreateInvokeInst (llvm::InvokeInst *I)
 
CallBrInstcreateCallBrInst (llvm::CallBrInst *I)
 
GetElementPtrInstcreateGetElementPtrInst (llvm::GetElementPtrInst *I)
 
CatchSwitchInstcreateCatchSwitchInst (llvm::CatchSwitchInst *I)
 
SwitchInstcreateSwitchInst (llvm::SwitchInst *I)
 
UnaryOperatorcreateUnaryOperator (llvm::UnaryOperator *I)
 
BinaryOperatorcreateBinaryOperator (llvm::BinaryOperator *I)
 
AtomicRMWInstcreateAtomicRMWInst (llvm::AtomicRMWInst *I)
 
AtomicCmpXchgInstcreateAtomicCmpXchgInst (llvm::AtomicCmpXchgInst *I)
 
AllocaInstcreateAllocaInst (llvm::AllocaInst *I)
 
CastInstcreateCastInst (llvm::CastInst *I)
 
PHINodecreatePHINode (llvm::PHINode *I)
 
UnreachableInstcreateUnreachableInst (llvm::UnreachableInst *UI)
 

Protected Attributes

LLVMContextLLVMCtx
 
Tracker IRTracker
 
DenseMap< llvm::Value *, std::unique_ptr< sandboxir::Value > > LLVMValueToValueMap
 Maps LLVM Value to the corresponding sandboxir::Value.
 
IRBuilder< ConstantFolderLLVMIRBuilder
 
friend SelectInst
 
friend InsertElementInst
 
friend ExtractElementInst
 
friend BranchInst
 
friend LoadInst
 
friend StoreInst
 
friend ReturnInst
 
friend CallInst
 
friend InvokeInst
 
friend CallBrInst
 
friend GetElementPtrInst
 
friend CatchSwitchInst
 
friend SwitchInst
 
friend UnaryOperator
 
friend BinaryOperator
 
friend AtomicRMWInst
 
friend AtomicCmpXchgInst
 
friend AllocaInst
 
friend CastInst
 
friend PHINode
 
friend UnreachableInst
 

Friends

class EraseFromParent
 
class ConstantInt
 
class BasicBlock
 Various leaf nodes.
 
void Instruction::eraseFromParent ()
 

Detailed Description

Definition at line 2227 of file SandboxIR.h.

Constructor & Destructor Documentation

◆ Context()

llvm::sandboxir::Context::Context ( LLVMContext LLVMCtx)
inline

Definition at line 2321 of file SandboxIR.h.

Member Function Documentation

◆ accept()

void llvm::sandboxir::Context::accept ( )
inline

Convenience function for getTracker().accept()

Definition at line 2331 of file SandboxIR.h.

References llvm::sandboxir::Tracker::accept(), and IRTracker.

◆ createAllocaInst()

AllocaInst * Context::createAllocaInst ( llvm::AllocaInst I)
protected

Definition at line 2197 of file SandboxIR.cpp.

References AllocaInst, I, and registerValue().

Referenced by llvm::sandboxir::AllocaInst::create().

◆ createAtomicCmpXchgInst()

AtomicCmpXchgInst * Context::createAtomicCmpXchgInst ( llvm::AtomicCmpXchgInst I)
protected

Definition at line 2192 of file SandboxIR.cpp.

References AtomicCmpXchgInst, I, and registerValue().

Referenced by llvm::sandboxir::AtomicCmpXchgInst::create().

◆ createAtomicRMWInst()

AtomicRMWInst * Context::createAtomicRMWInst ( llvm::AtomicRMWInst I)
protected

Definition at line 2187 of file SandboxIR.cpp.

References AtomicRMWInst, I, and registerValue().

Referenced by llvm::sandboxir::AtomicRMWInst::create().

◆ createBasicBlock()

BasicBlock * Context::createBasicBlock ( llvm::BasicBlock BB)
protected

Create a sandboxir::BasicBlock for an existing LLVM IR BB.

This will also create all contents of the block.

Definition at line 2096 of file SandboxIR.cpp.

References assert(), BasicBlock, getValue(), and registerValue().

Referenced by createFunction().

◆ createBinaryOperator()

BinaryOperator * Context::createBinaryOperator ( llvm::BinaryOperator I)
protected

Definition at line 2183 of file SandboxIR.cpp.

References BinaryOperator, I, and registerValue().

Referenced by llvm::sandboxir::BinaryOperator::create().

◆ createBranchInst()

BranchInst * Context::createBranchInst ( llvm::BranchInst I)
protected

Definition at line 2124 of file SandboxIR.cpp.

References BranchInst, and registerValue().

Referenced by llvm::sandboxir::BranchInst::create().

◆ createCallBrInst()

CallBrInst * Context::createCallBrInst ( llvm::CallBrInst I)
protected

Definition at line 2154 of file SandboxIR.cpp.

References CallBrInst, I, and registerValue().

Referenced by llvm::sandboxir::CallBrInst::create().

◆ createCallInst()

CallInst * Context::createCallInst ( llvm::CallInst I)
protected

Definition at line 2144 of file SandboxIR.cpp.

References CallInst, I, and registerValue().

◆ createCastInst()

CastInst * Context::createCastInst ( llvm::CastInst I)
protected

Definition at line 2201 of file SandboxIR.cpp.

References CastInst, I, and registerValue().

Referenced by llvm::sandboxir::CastInst::create().

◆ createCatchSwitchInst()

CatchSwitchInst * Context::createCatchSwitchInst ( llvm::CatchSwitchInst I)
protected

Definition at line 2171 of file SandboxIR.cpp.

References CatchSwitchInst, I, and registerValue().

Referenced by llvm::sandboxir::CatchSwitchInst::create().

◆ createExtractElementInst()

ExtractElementInst * Context::createExtractElementInst ( llvm::ExtractElementInst EEI)
protected

Definition at line 2111 of file SandboxIR.cpp.

References ExtractElementInst, and registerValue().

Referenced by llvm::sandboxir::ExtractElementInst::create().

◆ createFunction()

Function * Context::createFunction ( llvm::Function F)

Create a sandboxir::Function for an existing LLVM IR F, including all blocks and instructions.

This is the main API function for creating Sandbox IR.

Definition at line 2217 of file SandboxIR.cpp.

References assert(), createBasicBlock(), F, getOrCreateArgument(), getValue(), and registerValue().

◆ createGetElementPtrInst()

GetElementPtrInst * Context::createGetElementPtrInst ( llvm::GetElementPtrInst I)
protected

Definition at line 2166 of file SandboxIR.cpp.

References GetElementPtrInst, I, and registerValue().

◆ createInsertElementInst()

InsertElementInst * Context::createInsertElementInst ( llvm::InsertElementInst IEI)
protected

Definition at line 2118 of file SandboxIR.cpp.

References InsertElementInst, and registerValue().

Referenced by llvm::sandboxir::InsertElementInst::create().

◆ createInvokeInst()

InvokeInst * Context::createInvokeInst ( llvm::InvokeInst I)
protected

Definition at line 2149 of file SandboxIR.cpp.

References I, InvokeInst, and registerValue().

Referenced by llvm::sandboxir::InvokeInst::create().

◆ createLoadInst()

LoadInst * Context::createLoadInst ( llvm::LoadInst LI)
protected

Definition at line 2129 of file SandboxIR.cpp.

References LoadInst, and registerValue().

Referenced by llvm::sandboxir::LoadInst::create().

◆ createPHINode()

PHINode * Context::createPHINode ( llvm::PHINode I)
protected

Definition at line 2205 of file SandboxIR.cpp.

References I, PHINode, and registerValue().

Referenced by llvm::sandboxir::PHINode::create().

◆ createReturnInst()

ReturnInst * Context::createReturnInst ( llvm::ReturnInst I)
protected

Definition at line 2139 of file SandboxIR.cpp.

References I, registerValue(), and ReturnInst.

◆ createSelectInst()

SelectInst * Context::createSelectInst ( llvm::SelectInst SI)
protected

Definition at line 2105 of file SandboxIR.cpp.

References registerValue(), and SelectInst.

◆ createStoreInst()

StoreInst * Context::createStoreInst ( llvm::StoreInst SI)
protected

Definition at line 2134 of file SandboxIR.cpp.

References registerValue(), and StoreInst.

Referenced by llvm::sandboxir::StoreInst::create().

◆ createSwitchInst()

SwitchInst * Context::createSwitchInst ( llvm::SwitchInst I)
protected

Definition at line 2175 of file SandboxIR.cpp.

References I, registerValue(), and SwitchInst.

Referenced by llvm::sandboxir::SwitchInst::create().

◆ createUnaryOperator()

UnaryOperator * Context::createUnaryOperator ( llvm::UnaryOperator I)
protected

Definition at line 2179 of file SandboxIR.cpp.

References I, registerValue(), and UnaryOperator.

Referenced by llvm::sandboxir::UnaryOperator::create().

◆ createUnreachableInst()

UnreachableInst * Context::createUnreachableInst ( llvm::UnreachableInst UI)
protected

Definition at line 2159 of file SandboxIR.cpp.

References registerValue(), and UnreachableInst.

Referenced by llvm::sandboxir::UnreachableInst::create().

◆ detach()

std::unique_ptr< Value > Context::detach ( Value V)
protected

Remove SBV from all SandboxIR maps and stop owning it.

This effectively detaches V from the underlying IR.

Definition at line 1884 of file SandboxIR.cpp.

References assert(), and detachLLVMValue().

Referenced by llvm::sandboxir::Instruction::eraseFromParent().

◆ detachLLVMValue()

std::unique_ptr< Value > Context::detachLLVMValue ( llvm::Value V)
protected

Remove V from the maps and returns the unique_ptr.

Definition at line 1873 of file SandboxIR.cpp.

References LLVMValueToValueMap.

Referenced by detach().

◆ getLLVMIRBuilder()

auto & llvm::sandboxir::Context::getLLVMIRBuilder ( )
inlineprotected

◆ getNumValues()

size_t llvm::sandboxir::Context::getNumValues ( ) const
inline

\Returns the number of values registered with Context.

Definition at line 2343 of file SandboxIR.h.

References LLVMValueToValueMap.

Referenced by llvm::sandboxir::Value::Value().

◆ getOrCreateArgument()

Argument * llvm::sandboxir::Context::getOrCreateArgument ( llvm::Argument LLVMArg)
inlineprotected

Get or create a sandboxir::Argument for an existing LLVM IR LLVMArg.

Definition at line 2250 of file SandboxIR.h.

References LLVMValueToValueMap.

Referenced by createFunction().

◆ getOrCreateConstant()

Constant * llvm::sandboxir::Context::getOrCreateConstant ( llvm::Constant LLVMC)
inlineprotected

◆ getOrCreateValue()

Value * llvm::sandboxir::Context::getOrCreateValue ( llvm::Value LLVMV)
inlineprotected

Get or create a sandboxir::Value for an existing LLVM IR LLVMV.

Definition at line 2260 of file SandboxIR.h.

References getOrCreateValueInternal().

◆ getOrCreateValueInternal()

Value * Context::getOrCreateValueInternal ( llvm::Value V,
llvm::User U = nullptr 
)
protected

◆ getTracker()

Tracker & llvm::sandboxir::Context::getTracker ( )
inline

Definition at line 2325 of file SandboxIR.h.

References IRTracker.

Referenced by llvm::sandboxir::SwitchInst::addCase(), llvm::sandboxir::CatchSwitchInst::addHandler(), llvm::sandboxir::PHINode::addIncoming(), llvm::sandboxir::Instruction::copyFastMathFlags(), llvm::sandboxir::Instruction::eraseFromParent(), llvm::sandboxir::Instruction::insertBefore(), llvm::sandboxir::Instruction::insertInto(), llvm::sandboxir::Instruction::moveBefore(), registerValue(), llvm::sandboxir::SwitchInst::removeCase(), llvm::sandboxir::Instruction::removeFromParent(), llvm::sandboxir::PHINode::removeIncomingValue(), llvm::sandboxir::Value::replaceAllUsesWith(), llvm::sandboxir::User::replaceUsesOfWith(), llvm::sandboxir::Value::replaceUsesWithIf(), llvm::sandboxir::Use::set(), llvm::sandboxir::AtomicRMWInst::setAlignment(), llvm::sandboxir::AtomicCmpXchgInst::setAlignment(), llvm::sandboxir::AllocaInst::setAlignment(), llvm::sandboxir::AllocaInst::setAllocatedType(), llvm::sandboxir::SwitchInst::setCondition(), llvm::sandboxir::CallBrInst::setDefaultDest(), llvm::sandboxir::SwitchInst::setDefaultDest(), llvm::sandboxir::AtomicCmpXchgInst::setFailureOrdering(), llvm::sandboxir::Instruction::setFast(), llvm::sandboxir::Instruction::setFastMathFlags(), llvm::sandboxir::Instruction::setHasAllowContract(), llvm::sandboxir::Instruction::setHasAllowReassoc(), llvm::sandboxir::Instruction::setHasAllowReciprocal(), llvm::sandboxir::Instruction::setHasApproxFunc(), llvm::sandboxir::Instruction::setHasNoInfs(), llvm::sandboxir::Instruction::setHasNoNaNs(), llvm::sandboxir::Instruction::setHasNoSignedWrap(), llvm::sandboxir::Instruction::setHasNoSignedZeros(), llvm::sandboxir::Instruction::setHasNoUnsignedWrap(), llvm::sandboxir::PHINode::setIncomingBlock(), llvm::sandboxir::PHINode::setIncomingValue(), llvm::sandboxir::CallBrInst::setIndirectDest(), llvm::sandboxir::Instruction::setIsExact(), llvm::sandboxir::User::setOperand(), llvm::sandboxir::AtomicRMWInst::setOrdering(), llvm::sandboxir::CatchSwitchInst::setParentPad(), llvm::sandboxir::SwitchInst::setSuccessor(), llvm::sandboxir::AtomicCmpXchgInst::setSuccessOrdering(), llvm::sandboxir::AtomicRMWInst::setSyncScopeID(), llvm::sandboxir::AtomicCmpXchgInst::setSyncScopeID(), llvm::sandboxir::CatchSwitchInst::setUnwindDest(), llvm::sandboxir::AllocaInst::setUsedWithInAlloca(), llvm::sandboxir::LoadInst::setVolatile(), llvm::sandboxir::StoreInst::setVolatile(), llvm::sandboxir::AtomicRMWInst::setVolatile(), llvm::sandboxir::AtomicCmpXchgInst::setVolatile(), llvm::sandboxir::AtomicCmpXchgInst::setWeak(), and llvm::sandboxir::Use::swap().

◆ getValue() [1/2]

const sandboxir::Value * llvm::sandboxir::Context::getValue ( const llvm::Value V) const
inline

Definition at line 2334 of file SandboxIR.h.

References getValue().

◆ getValue() [2/2]

Value * Context::getValue ( llvm::Value V) const

Definition at line 2210 of file SandboxIR.cpp.

References LLVMValueToValueMap.

Referenced by llvm::sandboxir::BasicBlock::begin(), createBasicBlock(), createFunction(), llvm::sandboxir::Use::dumpOS(), llvm::sandboxir::BasicBlock::dumpOS(), llvm::sandboxir::Function::dumpOS(), llvm::sandboxir::SwitchInst::findCaseDest(), llvm::sandboxir::Use::get(), llvm::sandboxir::Function::getArg(), llvm::sandboxir::AllocaInst::getArraySize(), llvm::sandboxir::CallBase::getCalledFunction(), llvm::sandboxir::CallBase::getCalledOperand(), llvm::sandboxir::CallBase::getCalledOperandUse(), llvm::sandboxir::CallBase::getCaller(), llvm::sandboxir::AtomicCmpXchgInst::getCompareOperand(), llvm::sandboxir::BranchInst::getCondition(), llvm::sandboxir::SwitchInst::getCondition(), llvm::sandboxir::CallBrInst::getDefaultDest(), llvm::sandboxir::SwitchInst::getDefaultDest(), llvm::sandboxir::PHINode::getIncomingBlock(), llvm::sandboxir::PHINode::getIncomingValue(), llvm::sandboxir::PHINode::getIncomingValueForBlock(), llvm::sandboxir::CallBrInst::getIndirectDest(), llvm::sandboxir::CallBrInst::getIndirectDestLabel(), llvm::sandboxir::CallBrInst::getIndirectDestLabelUse(), llvm::sandboxir::CallBrInst::getIndirectDests(), llvm::sandboxir::InvokeInst::getLandingPadInst(), llvm::sandboxir::AtomicCmpXchgInst::getNewValOperand(), llvm::sandboxir::Instruction::getNextNode(), llvm::sandboxir::InvokeInst::getNormalDest(), getOrCreateValueInternal(), llvm::sandboxir::BasicBlock::getParent(), llvm::sandboxir::Instruction::getParent(), llvm::sandboxir::CatchSwitchInst::getParentPad(), llvm::sandboxir::AtomicRMWInst::getPointerOperand(), llvm::sandboxir::AtomicCmpXchgInst::getPointerOperand(), llvm::sandboxir::LoadInst::getPointerOperand(), llvm::sandboxir::StoreInst::getPointerOperand(), llvm::sandboxir::GetElementPtrInst::getPointerOperand(), llvm::sandboxir::ReturnInst::getReturnValue(), llvm::sandboxir::CallBrInst::getSuccessor(), llvm::sandboxir::SwitchInst::getSuccessor(), llvm::sandboxir::BranchInst::getSuccessor(), llvm::sandboxir::InvokeInst::getSuccessor(), llvm::sandboxir::BasicBlock::getTerminator(), llvm::sandboxir::InvokeInst::getUnwindDest(), llvm::sandboxir::CatchSwitchInst::getUnwindDest(), llvm::sandboxir::AtomicRMWInst::getValOperand(), getValue(), llvm::sandboxir::StoreInst::getValueOperand(), llvm::sandboxir::PHINode::hasConstantValue(), llvm::sandboxir::BBIterator::operator++(), llvm::sandboxir::PHINode::removeIncomingValue(), llvm::sandboxir::Value::replaceUsesWithIf(), llvm::sandboxir::Value::use_begin(), llvm::sandboxir::Value::user_begin(), and llvm::sandboxir::User::verifyUserOfLLVMUse().

◆ registerValue()

Value * Context::registerValue ( std::unique_ptr< Value > &&  VPtr)
protected

◆ revert()

void llvm::sandboxir::Context::revert ( )
inline

Convenience function for getTracker().revert()

Definition at line 2329 of file SandboxIR.h.

References IRTracker, and llvm::sandboxir::Tracker::revert().

◆ save()

void llvm::sandboxir::Context::save ( )
inline

Convenience function for getTracker().save()

Definition at line 2327 of file SandboxIR.h.

References IRTracker, and llvm::sandboxir::Tracker::save().

Friends And Related Function Documentation

◆ BasicBlock

friend class BasicBlock
friend

Various leaf nodes.

Definition at line 2272 of file SandboxIR.h.

Referenced by createBasicBlock().

◆ ConstantInt

friend class ConstantInt
friend

Definition at line 2267 of file SandboxIR.h.

Referenced by getOrCreateValueInternal().

◆ EraseFromParent

friend class EraseFromParent
friend

Definition at line 2245 of file SandboxIR.h.

◆ Instruction::eraseFromParent

Member Data Documentation

◆ AllocaInst

friend llvm::sandboxir::Context::AllocaInst
protected

Definition at line 2312 of file SandboxIR.h.

Referenced by createAllocaInst(), and getOrCreateValueInternal().

◆ AtomicCmpXchgInst

friend llvm::sandboxir::Context::AtomicCmpXchgInst
protected

Definition at line 2310 of file SandboxIR.h.

Referenced by createAtomicCmpXchgInst(), and getOrCreateValueInternal().

◆ AtomicRMWInst

friend llvm::sandboxir::Context::AtomicRMWInst
protected

Definition at line 2308 of file SandboxIR.h.

Referenced by createAtomicRMWInst(), and getOrCreateValueInternal().

◆ BinaryOperator

friend llvm::sandboxir::Context::BinaryOperator
protected

Definition at line 2306 of file SandboxIR.h.

Referenced by createBinaryOperator(), and getOrCreateValueInternal().

◆ BranchInst

friend llvm::sandboxir::Context::BranchInst
protected

Definition at line 2284 of file SandboxIR.h.

Referenced by createBranchInst(), and getOrCreateValueInternal().

◆ CallBrInst

friend llvm::sandboxir::Context::CallBrInst
protected

Definition at line 2296 of file SandboxIR.h.

Referenced by createCallBrInst(), and getOrCreateValueInternal().

◆ CallInst

friend llvm::sandboxir::Context::CallInst
protected

Definition at line 2292 of file SandboxIR.h.

Referenced by createCallInst(), and getOrCreateValueInternal().

◆ CastInst

friend llvm::sandboxir::Context::CastInst
protected

Definition at line 2314 of file SandboxIR.h.

Referenced by createCastInst(), and getOrCreateValueInternal().

◆ CatchSwitchInst

friend llvm::sandboxir::Context::CatchSwitchInst
protected

Definition at line 2300 of file SandboxIR.h.

Referenced by createCatchSwitchInst(), and getOrCreateValueInternal().

◆ ExtractElementInst

friend llvm::sandboxir::Context::ExtractElementInst
protected

Definition at line 2282 of file SandboxIR.h.

Referenced by createExtractElementInst(), and getOrCreateValueInternal().

◆ GetElementPtrInst

friend llvm::sandboxir::Context::GetElementPtrInst
protected

Definition at line 2298 of file SandboxIR.h.

Referenced by createGetElementPtrInst(), and getOrCreateValueInternal().

◆ InsertElementInst

friend llvm::sandboxir::Context::InsertElementInst
protected

Definition at line 2280 of file SandboxIR.h.

Referenced by createInsertElementInst(), and getOrCreateValueInternal().

◆ InvokeInst

friend llvm::sandboxir::Context::InvokeInst
protected

Definition at line 2294 of file SandboxIR.h.

Referenced by createInvokeInst(), and getOrCreateValueInternal().

◆ IRTracker

Tracker llvm::sandboxir::Context::IRTracker
protected

Definition at line 2230 of file SandboxIR.h.

Referenced by accept(), getTracker(), revert(), and save().

◆ LLVMCtx

LLVMContext& llvm::sandboxir::Context::LLVMCtx
protected

Definition at line 2229 of file SandboxIR.h.

◆ LLVMIRBuilder

IRBuilder<ConstantFolder> llvm::sandboxir::Context::LLVMIRBuilder
protected

Definition at line 2274 of file SandboxIR.h.

Referenced by getLLVMIRBuilder().

◆ LLVMValueToValueMap

DenseMap<llvm::Value *, std::unique_ptr<sandboxir::Value> > llvm::sandboxir::Context::LLVMValueToValueMap
protected

Maps LLVM Value to the corresponding sandboxir::Value.

Owns all SandboxIR objects.

Definition at line 2235 of file SandboxIR.h.

Referenced by detachLLVMValue(), getNumValues(), getOrCreateArgument(), getOrCreateValueInternal(), getValue(), and registerValue().

◆ LoadInst

friend llvm::sandboxir::Context::LoadInst
protected

Definition at line 2286 of file SandboxIR.h.

Referenced by createLoadInst(), and getOrCreateValueInternal().

◆ PHINode

friend llvm::sandboxir::Context::PHINode
protected

Definition at line 2316 of file SandboxIR.h.

Referenced by createPHINode(), and getOrCreateValueInternal().

◆ ReturnInst

friend llvm::sandboxir::Context::ReturnInst
protected

Definition at line 2290 of file SandboxIR.h.

Referenced by createReturnInst(), and getOrCreateValueInternal().

◆ SelectInst

friend llvm::sandboxir::Context::SelectInst
protected

Definition at line 2278 of file SandboxIR.h.

Referenced by createSelectInst(), and getOrCreateValueInternal().

◆ StoreInst

friend llvm::sandboxir::Context::StoreInst
protected

Definition at line 2288 of file SandboxIR.h.

Referenced by createStoreInst(), and getOrCreateValueInternal().

◆ SwitchInst

friend llvm::sandboxir::Context::SwitchInst
protected

Definition at line 2302 of file SandboxIR.h.

Referenced by createSwitchInst(), and getOrCreateValueInternal().

◆ UnaryOperator

friend llvm::sandboxir::Context::UnaryOperator
protected

Definition at line 2304 of file SandboxIR.h.

Referenced by createUnaryOperator(), and getOrCreateValueInternal().

◆ UnreachableInst

friend llvm::sandboxir::Context::UnreachableInst
protected

Definition at line 2318 of file SandboxIR.h.

Referenced by createUnreachableInst(), and getOrCreateValueInternal().


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