LLVM 23.0.0git
llvm::sandboxir::SBVecContext Class Reference

#include "llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerIR.h"

Inheritance diagram for llvm::sandboxir::SBVecContext:
[legend]

Public Member Functions

 SBVecContext (llvm::LLVMContext &LLVMCtx)
Public Member Functions inherited from llvm::sandboxir::Context
LLVM_ABI Context (LLVMContext &LLVMCtx)
virtual LLVM_ABI ~Context ()
LLVM_ABI void clear ()
 Clears function-level state.
TrackergetTracker ()
void save ()
 Convenience function for getTracker().save()
void revert ()
 Convenience function for getTracker().revert()
void accept ()
 Convenience function for getTracker().accept()
LLVM_ABI sandboxir::ValuegetValue (llvm::Value *V) const
const sandboxir::ValuegetValue (const llvm::Value *V) const
LLVM_ABI ModulegetModule (llvm::Module *LLVMM) const
LLVM_ABI ModulegetOrCreateModule (llvm::Module *LLVMM)
TypegetType (llvm::Type *LLVMTy)
LLVM_ABI FunctioncreateFunction (llvm::Function *F)
 Create a sandboxir::Function for an existing LLVM IR F, including all blocks and instructions.
LLVM_ABI ModulecreateModule (llvm::Module *LLVMM)
 Create a sandboxir::Module corresponding to LLVMM.
size_t getNumValues () const
 \Returns the number of values registered with Context.
LLVM_ABI CallbackID registerEraseInstrCallback (EraseInstrCallback CB)
 Register a callback that gets called when a SandboxIR instruction is about to be removed from its parent.
LLVM_ABI void unregisterEraseInstrCallback (CallbackID ID)
LLVM_ABI CallbackID registerCreateInstrCallback (CreateInstrCallback CB)
 Register a callback that gets called right after a SandboxIR instruction is created.
LLVM_ABI void unregisterCreateInstrCallback (CallbackID ID)
LLVM_ABI CallbackID registerMoveInstrCallback (MoveInstrCallback CB)
 Register a callback that gets called when a SandboxIR instruction is about to be moved.
LLVM_ABI void unregisterMoveInstrCallback (CallbackID ID)
LLVM_ABI CallbackID registerSetUseCallback (SetUseCallback CB)
 Register a callback that gets called when a Use gets set.
LLVM_ABI void unregisterSetUseCallback (CallbackID ID)

Friends

class PackInst

Additional Inherited Members

Public Types inherited from llvm::sandboxir::Context
using EraseInstrCallback = std::function<void(Instruction *)>
using CreateInstrCallback = std::function<void(Instruction *)>
using MoveInstrCallback
using SetUseCallback = std::function<void(const Use &, Value *)>
Protected Member Functions inherited from llvm::sandboxir::Context
LLVM_ABI std::unique_ptr< ValuedetachLLVMValue (llvm::Value *V)
 Remove V from the maps and returns the unique_ptr.
LLVM_ABI std::unique_ptr< Valuedetach (Value *V)
 Remove SBV from all SandboxIR maps and stop owning it.
LLVM_ABI ValueregisterValue (std::unique_ptr< Value > &&VPtr)
 Take ownership of VPtr and store it in LLVMValueToValueMap.
LLVM_ABI 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.
LLVM_ABI 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.
LLVM_ABI ConstantgetOrCreateConstant (llvm::Constant *LLVMC)
 Get or create a sandboxir::Constant from an existing LLVM IR LLVMC.
LLVM_ABI void runEraseInstrCallbacks (Instruction *I)
LLVM_ABI void runCreateInstrCallbacks (Instruction *I)
LLVM_ABI void runMoveInstrCallbacks (Instruction *I, const BBIterator &Where)
LLVM_ABI void runSetUseCallbacks (const Use &U, Value *NewSrc)
LLVM_ABI BasicBlockcreateBasicBlock (llvm::BasicBlock *BB)
 Create a sandboxir::BasicBlock for an existing LLVM IR BB.
auto & getLLVMIRBuilder ()
LLVM_ABI VAArgInstcreateVAArgInst (llvm::VAArgInst *SI)
LLVM_ABI FreezeInstcreateFreezeInst (llvm::FreezeInst *SI)
LLVM_ABI FenceInstcreateFenceInst (llvm::FenceInst *SI)
LLVM_ABI SelectInstcreateSelectInst (llvm::SelectInst *SI)
LLVM_ABI InsertElementInstcreateInsertElementInst (llvm::InsertElementInst *IEI)
LLVM_ABI ExtractElementInstcreateExtractElementInst (llvm::ExtractElementInst *EEI)
LLVM_ABI ShuffleVectorInstcreateShuffleVectorInst (llvm::ShuffleVectorInst *SVI)
LLVM_ABI ExtractValueInstcreateExtractValueInst (llvm::ExtractValueInst *IVI)
LLVM_ABI InsertValueInstcreateInsertValueInst (llvm::InsertValueInst *IVI)
LLVM_ABI UncondBrInstcreateUncondBrInst (llvm::UncondBrInst *UBI)
LLVM_ABI CondBrInstcreateCondBrInst (llvm::CondBrInst *CBI)
LLVM_ABI LoadInstcreateLoadInst (llvm::LoadInst *LI)
LLVM_ABI StoreInstcreateStoreInst (llvm::StoreInst *SI)
LLVM_ABI ReturnInstcreateReturnInst (llvm::ReturnInst *I)
LLVM_ABI CallInstcreateCallInst (llvm::CallInst *I)
LLVM_ABI InvokeInstcreateInvokeInst (llvm::InvokeInst *I)
LLVM_ABI CallBrInstcreateCallBrInst (llvm::CallBrInst *I)
LLVM_ABI LandingPadInstcreateLandingPadInst (llvm::LandingPadInst *I)
LLVM_ABI CatchPadInstcreateCatchPadInst (llvm::CatchPadInst *I)
LLVM_ABI CleanupPadInstcreateCleanupPadInst (llvm::CleanupPadInst *I)
LLVM_ABI CatchReturnInstcreateCatchReturnInst (llvm::CatchReturnInst *I)
LLVM_ABI CleanupReturnInstcreateCleanupReturnInst (llvm::CleanupReturnInst *I)
LLVM_ABI GetElementPtrInstcreateGetElementPtrInst (llvm::GetElementPtrInst *I)
LLVM_ABI CatchSwitchInstcreateCatchSwitchInst (llvm::CatchSwitchInst *I)
LLVM_ABI ResumeInstcreateResumeInst (llvm::ResumeInst *I)
LLVM_ABI SwitchInstcreateSwitchInst (llvm::SwitchInst *I)
LLVM_ABI UnaryOperatorcreateUnaryOperator (llvm::UnaryOperator *I)
LLVM_ABI BinaryOperatorcreateBinaryOperator (llvm::BinaryOperator *I)
LLVM_ABI AtomicRMWInstcreateAtomicRMWInst (llvm::AtomicRMWInst *I)
LLVM_ABI AtomicCmpXchgInstcreateAtomicCmpXchgInst (llvm::AtomicCmpXchgInst *I)
LLVM_ABI AllocaInstcreateAllocaInst (llvm::AllocaInst *I)
LLVM_ABI CastInstcreateCastInst (llvm::CastInst *I)
LLVM_ABI PHINodecreatePHINode (llvm::PHINode *I)
LLVM_ABI UnreachableInstcreateUnreachableInst (llvm::UnreachableInst *UI)
LLVM_ABI CmpInstcreateCmpInst (llvm::CmpInst *I)
LLVM_ABI ICmpInstcreateICmpInst (llvm::ICmpInst *I)
LLVM_ABI FCmpInstcreateFCmpInst (llvm::FCmpInst *I)
Protected Attributes inherited from llvm::sandboxir::Context
LLVMContextLLVMCtx
Tracker IRTracker
DenseMap< llvm::Value *, std::unique_ptr< Value > > LLVMValueToValueMap
 Maps LLVM Value to the corresponding sandboxir::Value.
DenseMap< llvm::Module *, std::unique_ptr< Module > > LLVMModuleToModuleMap
 Maps an LLVM Module to the corresponding sandboxir::Module.
DenseMap< llvm::Type *, std::unique_ptr< Type, TypeDeleter > > LLVMTypeToTypeMap
 Maps LLVM Type to the corresonding sandboxir::Type.
MapVector< CallbackID, EraseInstrCallbackEraseInstrCallbacks
 Callbacks called when an IR instruction is about to get erased.
MapVector< CallbackID, CreateInstrCallbackCreateInstrCallbacks
 Callbacks called when an IR instruction is about to get created.
MapVector< CallbackID, MoveInstrCallbackMoveInstrCallbacks
 Callbacks called when an IR instruction is about to get moved.
MapVector< CallbackID, SetUseCallbackSetUseCallbacks
 Callbacks called when a Use gets its source set.
CallbackID::ValTy NextCallbackID = 1
 A counter used for assigning callback IDs during registration.
IRBuilder< ConstantFolderLLVMIRBuilder
friend VAArgInst
friend FreezeInst
friend FenceInst
friend SelectInst
friend InsertElementInst
friend ExtractElementInst
friend ShuffleVectorInst
friend ExtractValueInst
friend InsertValueInst
friend UncondBrInst
friend CondBrInst
friend LoadInst
friend StoreInst
friend ReturnInst
friend CallInst
friend InvokeInst
friend CallBrInst
friend LandingPadInst
friend CatchPadInst
friend CleanupPadInst
friend CatchReturnInst
friend CleanupReturnInst
friend GetElementPtrInst
friend CatchSwitchInst
friend ResumeInst
friend SwitchInst
friend UnaryOperator
friend BinaryOperator
friend AtomicRMWInst
friend AtomicCmpXchgInst
friend AllocaInst
friend CastInst
friend PHINode
friend UnreachableInst
friend CmpInst
friend ICmpInst
friend FCmpInst

Detailed Description

Definition at line 48 of file SandboxVectorizerIR.h.

Constructor & Destructor Documentation

◆ SBVecContext()

llvm::sandboxir::SBVecContext::SBVecContext ( llvm::LLVMContext & LLVMCtx)
inline

◆ PackInst

friend class PackInst
friend

Definition at line 51 of file SandboxVectorizerIR.h.

References PackInst.

Referenced by PackInst.


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