LLVM: llvm::sandboxir Namespace Reference (original) (raw)
| Classes | |
|---|---|
| struct | Action |
| class | AddrSpaceCastInst |
| class | AllocaInst |
| class | Analyses |
| class | Argument |
| Argument of a sandboxir::Function. More... | |
| class | ArrayType |
| class | AtomicCmpXchgInst |
| class | AtomicRMWInst |
| class | BinaryOperator |
| class | BitCastInst |
| class | BlockAddress |
| class | BottomUpVec |
| This is a simple bottom-up vectorizer Region pass. More... | |
| class | BranchInst |
| class | CallBase |
| class | CallBrInst |
| class | CallInst |
| class | CastInst |
| class | CastInstImpl |
| class | CatchPadInst |
| class | CatchReturnInst |
| class | CatchSwitchAddHandler |
| class | CatchSwitchInst |
| class | CleanupPadInst |
| class | CleanupReturnInst |
| class | CmpInst |
| class | CmpSwapOperands |
| class | CollectDescr |
| Describes how to collect the values needed by each lane. More... | |
| class | Constant |
| class | ConstantAggregate |
| Base class for aggregate constants (with operands). More... | |
| class | ConstantAggregateZero |
| class | ConstantArray |
| class | ConstantDataArray |
| class | ConstantDataSequential |
| ConstantDataSequential - A vector or array constant whose element type is a simple 1/2/4/8-byte integer or half/bfloat/float/double, and whose elements are just simple data values (i.e. More... | |
| class | ConstantDataVector |
| A vector constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More... | |
| class | ConstantExpr |
| class | ConstantFP |
| class | ConstantInt |
| class | ConstantPointerNull |
| class | ConstantPtrAuth |
| class | ConstantStruct |
| class | ConstantTokenNone |
| class | ConstantVector |
| class | Context |
| class | CreateAndInsertInst |
| class | DependencyGraph |
| class | DGNode |
| A DependencyGraph Node that points to an Instruction and contains memory dependency edges. More... | |
| class | DiamondReuse |
| class | DiamondReuseMultiInput |
| class | DiamondReuseWithShuffle |
| class | DSOLocalEquivalent |
| class | EraseFromParent |
| class | ExtractElementInst |
| class | ExtractValueInst |
| class | FCmpInst |
| class | FenceInst |
| class | FixedVectorType |
| class | FPExtInst |
| class | FPMathOperator |
| class | FPToSIInst |
| class | FPToUIInst |
| class | FPTruncInst |
| class | FreezeInst |
| class | FuncletPadInst |
| class | Function |
| class | FunctionPass |
| A pass that runs on a sandbox::Function. More... | |
| class | FunctionPassManager |
| class | FunctionType |
| class | GenericSetter |
| This class can be used for tracking most instruction setters. More... | |
| class | GenericSetterWithIdx |
| Similar to GenericSetter but the setters/getters have an index as their first argument. More... | |
| class | GetElementPtrInst |
| class | GlobalAlias |
| class | GlobalIFunc |
| class | GlobalObject |
| class | GlobalValue |
| class | GlobalVariable |
| class | GlobalWithNodeAPI |
| Provides API functions, like getIterator() and getReverseIterator() to GlobalIFunc, Function, GlobalVariable and GlobalAlias. More... | |
| class | ICmpInst |
| class | InsertElementInst |
| class | InsertIntoBB |
| class | InsertPosition |
| class | InsertValueInst |
| class | InstrMaps |
| Maps the original instructions to the vectorized instrs and the reverse. More... | |
| class | Instruction |
| A sandboxir::User with operands, opcode and linked with previous/next instructions in an instruction list. More... | |
| class | IntegerType |
| Class to represent integer types. More... | |
| class | Interval |
| class | IntervalIterator |
| A simple iterator for iterating the interval. More... | |
| class | IntrinsicInst |
| class | IntToPtrInst |
| class | InvokeInst |
| class | IRChangeBase |
| The base class for IR Change classes. More... | |
| class | IRSnapshotChecker |
| A class that saves hashes and textual IR snapshots of functions in a SandboxIR Context, and does hash comparison when expectNoDiff is called. More... | |
| class | LandingPadInst |
| class | LegalityAnalysis |
| Performs the legality analysis and returns a LegalityResult object. More... | |
| class | LegalityResult |
| The legality outcome is represented by a class rather than an enum class because in some cases the legality checks are expensive and look for a particular instruction that can be passed along to the vectorizer to avoid repeating the same expensive computation. More... | |
| class | LegalityResultWithReason |
| Base class for results with reason. More... | |
| class | LoadInst |
| class | MemDGNode |
| A DependencyGraph Node for instructions that may read/write memory, or have some ordering constraints, like with stacksave/stackrestore and alloca/inalloca. More... | |
| class | MemDGNodeIntervalBuilder |
| Convenience builders for a MemDGNode interval. More... | |
| class | MemSeedBundle |
| Specialization of SeedBundle for memory access instructions. More... | |
| class | Module |
| In SandboxIR the Module is mainly used to access the list of global objects. More... | |
| class | MoveInstr |
| class | NoCFIValue |
| class | NullPass |
| A Region pass that does nothing, for use as a placeholder in tests. More... | |
| class | OpaqueInst |
| An LLLVM Instruction that has no SandboxIR equivalent class gets mapped to an OpaqueInstr. More... | |
| class | OpaqueValue |
| class | OperandUseIterator |
| Iterator for the Use edges of a User's operands. More... | |
| class | Operator |
| class | OverflowingBinaryOperator |
| class | Pack |
| class | PackReuse |
| This pass aims at de-duplicating packs, i.e., try to reuse already existing pack patterns instead of keeping both. More... | |
| class | Pass |
| The base class of a Sandbox IR Pass. More... | |
| class | PassManager |
| Base class. More... | |
| class | PHIAddIncoming |
| class | PHINode |
| class | PHIRemoveIncoming |
| class | PointerType |
| class | PoisonValue |
| class | PossiblyDisjointInst |
| An or instruction, which can be marked as "disjoint", indicating that the inputs don't have a 1 in the same bit position. More... | |
| class | PossiblyNonNegInst |
| Instruction that can have a nneg flag (zext/uitofp). More... | |
| class | PredIterator |
| Iterate over both def-use and mem dependencies. More... | |
| class | PrintInstructionCount |
| A Region pass that prints the instruction count for the region to stdout. More... | |
| class | PrintRegion |
| A Region pass that does nothing, for use as a placeholder in tests. More... | |
| class | PriorityCmp |
| class | PtrToAddrInst |
| class | PtrToIntInst |
| class | ReadyListContainer |
| The list holding nodes that are ready to schedule. Used by the scheduler. More... | |
| class | Region |
| The main job of the Region is to point to new instructions generated by vectorization passes. More... | |
| class | RegionInternalsAttorney |
| A helper client-attorney class for unit tests. More... | |
| class | RegionPass |
| A pass that runs on a sandbox::Region. More... | |
| class | RegionPassManager |
| class | RegionsFromBBs |
| class | RegionsFromMetadata |
| class | RemoveFromParent |
| class | ResumeInst |
| class | ReturnInst |
| class | SandboxVectorizerPassBuilder |
| class | ScalableVectorType |
| class | SchedBundle |
| The nodes that need to be scheduled back-to-back in a single scheduling cycle form a SchedBundle. More... | |
| class | Scheduler |
| The list scheduler. More... | |
| class | SchedulerInternalsAttorney |
| A client-attorney class for accessing the Scheduler's internals (used for unit tests). More... | |
| class | ScoreBoard |
| class | SeedBundle |
| A set of candidate Instructions for vectorizing together. More... | |
| class | SeedCollection |
| This pass collects the instructions that can become vectorization "seeds", like stores to consecutive memory addresses. More... | |
| class | SeedCollector |
| class | SeedContainer |
| Class to conveniently track Seeds within SeedBundles. More... | |
| class | SelectInst |
| class | SExtInst |
| class | ShuffleMask |
| class | ShuffleVectorInst |
| class | ShuffleVectorSetMask |
| class | SingleLLVMInstructionImpl |
| Instructions that contain a single LLVM Instruction can inherit from this. More... | |
| class | SIToFPInst |
| class | StoreInst |
| class | StructType |
| class | SwitchAddCase |
| class | SwitchInst |
| class | SwitchRemoveCase |
| struct | ToStr |
| class | Tracker |
| The tracker collects all the change objects and implements the main API for saving / reverting / accepting. More... | |
| class | TransactionAcceptOrRevert |
| class | TransactionAlwaysAccept |
| class | TransactionAlwaysRevert |
| class | TransactionSave |
| class | TruncInst |
| class | Type |
| Just like llvm::Type these are immutable, unique, never get freed and can only be created via static factory methods. More... | |
| class | UIToFPInst |
| class | UnaryInstruction |
| An abstract class, parent of unary instructions. More... | |
| class | UnaryOperator |
| class | UndefValue |
| class | UnreachableInst |
| class | Use |
| Represents a Def-use/Use-def edge in SandboxIR. More... | |
| class | User |
| A sandboxir::User has operands. More... | |
| class | UserUseIterator |
| Iterator for the Use edges of a Value's users. More... | |
| class | UseSet |
| Tracks the change of the source Value of a sandboxir::Use. More... | |
| class | UseSwap |
| Tracks swapping a Use with another Use. More... | |
| class | Utils |
| class | VAArgInst |
| class | Value |
| A SandboxIR Value has users. This is the base class. More... | |
| class | VectorType |
| class | VecUtils |
| class | Widen |
| class | ZExtInst |
| Enumerations | |
|---|---|
| enum class | DGNodeID { DGNode, MemDGNode } |
| SubclassIDs for isa/dyn_cast etc. More... | |
| enum class | LegalityResultID { Pack, Widen, DiamondReuse, DiamondReuseWithShuffle, DiamondReuseMultiInput } |
| enum class | ResultReason { NotInstructions, DiffOpcodes, DiffTypes, DiffMathFlags, DiffWrapFlags, DiffBBs, RepeatedInstrs, NotConsecutive, CantSchedule, Unimplemented, Infeasible, ForcePackForDebugging } |
| The reason for vectorizing or not vectorizing. More... |
◆ iterator
using llvm::sandboxir::iterator = BBIterator
◆ LoadSeedBundle
◆ StoreSeedBundle
◆ DGNodeID
SubclassIDs for isa/dyn_cast etc.
| Enumerator |
|---|
| DGNode |
| MemDGNode |
Definition at line 40 of file DependencyGraph.h.
◆ LegalityResultID
| Enumerator | |
|---|---|
| Pack | |
| Widen | Collect scalar values. |
| DiamondReuse | Vectorize by combining scalars to a vector. |
| DiamondReuseWithShuffle | Don't generate new code, reuse existing vector. |
| DiamondReuseMultiInput | Reuse the existing vector but add a shuffle. |
Definition at line 80 of file Legality.h.
◆ ResultReason
The reason for vectorizing or not vectorizing.
| Enumerator |
|---|
| NotInstructions |
| DiffOpcodes |
| DiffTypes |
| DiffMathFlags |
| DiffWrapFlags |
| DiffBBs |
| RepeatedInstrs |
| NotConsecutive |
| CantSchedule |
| Unimplemented |
| Infeasible |
| ForcePackForDebugging |
Definition at line 89 of file Legality.h.
◆ back()
◆ BasicBlock()
Definition at line 75 of file BasicBlock.h.
References llvm::Block.
Referenced by llvm::sandboxir::SwitchInst::addCase(), llvm::sandboxir::CatchSwitchInst::addHandler(), llvm::sandboxir::PHINode::addIncoming(), llvm::sandboxir::BlockAddress::Context, llvm::sandboxir::CallBrInst::Context, llvm::sandboxir::CatchReturnInst::Context, llvm::sandboxir::CatchSwitchInst::Context, llvm::sandboxir::CleanupReturnInst::Context, llvm::sandboxir::InvokeInst::Context, llvm::sandboxir::BranchInst::create(), llvm::sandboxir::BranchInst::create(), llvm::sandboxir::CallBrInst::create(), llvm::sandboxir::CatchReturnInst::create(), llvm::sandboxir::CatchSwitchInst::create(), llvm::sandboxir::CleanupReturnInst::create(), llvm::sandboxir::SwitchInst::create(), llvm::sandboxir::Region::createRegionsFromMD(), llvm::sandboxir::SwitchInst::findCaseDest(), llvm::sandboxir::BlockAddress::get(), llvm::sandboxir::BlockAddress::get(), llvm::sandboxir::BlockAddress::getBasicBlock(), llvm::sandboxir::InsertPosition::getBasicBlock(), llvm::sandboxir::PHINode::getBasicBlockIndex(), llvm::sandboxir::CallBrInst::getDefaultDest(), llvm::sandboxir::SwitchInst::getDefaultDest(), llvm::sandboxir::PHINode::getIncomingBlock(), llvm::sandboxir::PHINode::getIncomingBlock(), llvm::sandboxir::PHINode::getIncomingValueForBlock(), llvm::sandboxir::CallBrInst::getIndirectDest(), getInsertPointAfterInstrs(), llvm::sandboxir::VecUtils::getLowest(), llvm::sandboxir::InvokeInst::getNormalDest(), llvm::sandboxir::Instruction::getParent(), llvm::sandboxir::BranchInst::getSuccessor(), llvm::sandboxir::CallBrInst::getSuccessor(), llvm::sandboxir::CatchReturnInst::getSuccessor(), llvm::sandboxir::CatchSwitchInst::getSuccessor(), llvm::sandboxir::InvokeInst::getSuccessor(), llvm::sandboxir::SwitchInst::getSuccessor(), llvm::sandboxir::CatchSwitchInst::getUnwindDest(), llvm::sandboxir::CleanupReturnInst::getUnwindDest(), llvm::sandboxir::InvokeInst::getUnwindDest(), llvm::sandboxir::Instruction::insertInto(), llvm::sandboxir::InsertPosition::InsertPosition(), llvm::sandboxir::BlockAddress::lookup(), llvm::sandboxir::Instruction::moveBefore(), llvm::sandboxir::PHINode::removeIncomingValue(), llvm::sandboxir::PHINode::replaceIncomingBlockWith(), llvm::sandboxir::RegionsFromBBs::runOnFunction(), llvm::sandboxir::PackReuse::runOnRegion(), llvm::sandboxir::Scheduler::SchedulerInternalsAttorney, llvm::sandboxir::SeedCollector::SeedCollector(), llvm::sandboxir::CallBrInst::setDefaultDest(), llvm::sandboxir::SwitchInst::setDefaultDest(), llvm::sandboxir::PHINode::setIncomingBlock(), llvm::sandboxir::CallBrInst::setIndirectDest(), llvm::sandboxir::InvokeInst::setNormalDest(), llvm::sandboxir::BranchInst::setSuccessor(), llvm::sandboxir::CatchReturnInst::setSuccessor(), llvm::sandboxir::CatchSwitchInst::setSuccessor(), llvm::sandboxir::InvokeInst::setSuccessor(), llvm::sandboxir::SwitchInst::setSuccessor(), llvm::sandboxir::CatchSwitchInst::setUnwindDest(), llvm::sandboxir::CleanupReturnInst::setUnwindDest(), and llvm::sandboxir::InvokeInst::setUnwindDest().
◆ begin()
◆ classof()
◆ dumpImpl()
template<typename T>
| void llvm::sandboxir::dumpImpl ( ArrayRef< T * > Bndl) | static |
|---|
◆ dumpOS()
◆ empty()
| bool llvm::sandboxir::empty | ( | ) | const |
|---|
◆ end()
| iterator llvm::sandboxir::end | ( | ) | const |
|---|
◆ front()
◆ getContext()
| Context & llvm::sandboxir::getContext | ( | ) | const |
|---|
◆ getInsertPointAfterInstrs()
◆ getLLVMBinaryOp()
\Returns the LLVM opcode that corresponds to Opc.
Definition at line 1215 of file Instruction.cpp.
References Opc.
◆ getLLVMCastOp()
◆ getLLVMUnaryOp()
◆ getOperand()
Definition at line 43 of file BottomUpVec.cpp.
References llvm::cast(), OpIdx, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::sandboxir::ExtractValueInst::getAggregateOperand(), llvm::sandboxir::ExtractValueInst::getAggregateOperand(), llvm::sandboxir::InsertValueInst::getAggregateOperand(), llvm::sandboxir::InsertValueInst::getAggregateOperand(), llvm::sandboxir::CallBase::getArgOperand(), llvm::sandboxir::SelectInst::getCondition(), llvm::sandboxir::SelectInst::getCondition(), llvm::sandboxir::SelectInst::getFalseValue(), llvm::sandboxir::SelectInst::getFalseValue(), llvm::sandboxir::ExtractElementInst::getIndexOperand(), llvm::sandboxir::ExtractElementInst::getIndexOperand(), llvm::sandboxir::InsertValueInst::getInsertedValueOperand(), llvm::sandboxir::InsertValueInst::getInsertedValueOperand(), llvm::sandboxir::AddrSpaceCastInst::getPointerOperand(), llvm::sandboxir::CatchSwitchInst::getSuccessor(), llvm::sandboxir::SelectInst::getTrueValue(), llvm::sandboxir::SelectInst::getTrueValue(), llvm::sandboxir::ExtractElementInst::getVectorOperand(), and llvm::sandboxir::ExtractElementInst::getVectorOperand().
◆ getParent()
◆ getTerminator()
◆ isOrdered()
◆ isValidMemSeed()
template
| bool llvm::sandboxir::isValidMemSeed ( LoadOrStoreT * LSI) | static |
|---|
◆ isValidMemSeed< LoadInst >()
◆ isValidMemSeed< StoreInst >()
◆ rbegin()
| std::reverse_iterator< iterator > llvm::sandboxir::rbegin | ( | ) | const |
|---|
◆ rend()
| std::reverse_iterator< iterator > llvm::sandboxir::rend | ( | ) | const |
|---|
◆ verify()
| void llvm::sandboxir::verify ( ) const | final |
|---|
◆ ~BasicBlock()
| llvm::sandboxir::~BasicBlock ( ) | overridedefault |
|---|
◆ GlobalWithNodeAPI< Function, llvm::Function, GlobalObject, llvm::GlobalObject >
◆ GlobalWithNodeAPI< GlobalAlias, llvm::GlobalAlias, GlobalValue, llvm::GlobalValue >
◆ GlobalWithNodeAPI< GlobalIFunc, llvm::GlobalIFunc, GlobalObject, llvm::GlobalObject >
◆ GlobalWithNodeAPI< GlobalVariable, llvm::GlobalVariable, GlobalObject, llvm::GlobalObject >
◆ Interval< Instruction >
◆ Interval< MemDGNode >
◆ MaxRegisteredCallbacks
| int llvm::sandboxir::MaxRegisteredCallbacks = 16 | staticconstexpr |
|---|