LLVM 20.0.0git
|
Classes | |
class | AddrSpaceCastInst |
class | AllocaInst |
class | Analyses |
class | Argument |
Argument of a sandboxir::Function. More... | |
class | ArrayType |
class | AtomicCmpXchgInst |
class | AtomicRMWInst |
class | BasicBlock |
Contains a list of sandboxir::Instruction's. More... | |
class | BBIterator |
Iterator for Instruction s in a `BasicBlock. More... | |
class | BinaryOperator |
class | BitCastInst |
class | BlockAddress |
class | BottomUpVec |
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 | Constant |
class | ConstantAggregate |
Base class for aggregate constants (with operands). More... | |
class | ConstantAggregateZero |
class | ConstantArray |
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 | 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 | 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 | OperandUseIterator |
Iterator for the Use edges of a User's operands. More... | |
class | Operator |
class | OverflowingBinaryOperator |
class | Pack |
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 | PriorityCmp |
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 | RegionPass |
A pass that runs on a sandbox::Region. More... | |
class | RegionPassManager |
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 | SeedBundle |
A set of candidate Instructions for vectorizing together. More... | |
class | SeedCollector |
class | SeedContainer |
Class to conveniently track Seeds within SeedBundles. More... | |
class | SelectInst |
class | SExtInst |
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 | 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 |
Typedefs | |
using | StoreSeedBundle = MemSeedBundle< sandboxir::StoreInst > |
using | LoadSeedBundle = MemSeedBundle< sandboxir::LoadInst > |
Enumerations | |
enum class | DGNodeID { DGNode , MemDGNode } |
SubclassIDs for isa/dyn_cast etc. More... | |
enum class | LegalityResultID { Pack , Widen } |
enum class | ResultReason { NotInstructions , DiffOpcodes , DiffTypes , DiffMathFlags , DiffWrapFlags , NotConsecutive , CantSchedule , Unimplemented , Infeasible } |
The reason for vectorizing or not vectorizing. More... | |
Variables | |
static constexpr int | MaxRegisteredCallbacks = 16 |
cl::opt< unsigned > | SeedBundleSizeLimit ("sbvec-seed-bundle-size-limit", cl::init(32), cl::Hidden, cl::desc("Limit the size of the seed bundle to cap compilation time.")) |
cl::opt< std::string > | CollectSeeds ("sbvec-collect-seeds", cl::init(LoadSeedsDef "," StoreSeedsDef), cl::Hidden, cl::desc("Collect these seeds. Use empty for none or a comma-separated " "list of '" LoadSeedsDef "' and '" StoreSeedsDef "'.")) |
cl::opt< unsigned > | SeedGroupsLimit ("sbvec-seed-groups-limit", cl::init(256), cl::Hidden, cl::desc("Limit the number of collected seeds groups in a BB to " "cap compilation time.")) |
using llvm::sandboxir::LoadSeedBundle = typedef MemSeedBundle<sandboxir::LoadInst> |
Definition at line 168 of file SeedCollector.h.
using llvm::sandboxir::StoreSeedBundle = typedef MemSeedBundle<sandboxir::StoreInst> |
Definition at line 167 of file SeedCollector.h.
|
strong |
SubclassIDs for isa/dyn_cast etc.
Enumerator | |
---|---|
DGNode | |
MemDGNode |
Definition at line 39 of file DependencyGraph.h.
|
strong |
Enumerator | |
---|---|
Pack | |
Widen |
|
Definition at line 27 of file Legality.h.
|
strong |
The reason for vectorizing or not vectorizing.
Enumerator | |
---|---|
NotInstructions | |
DiffOpcodes | |
DiffTypes | |
DiffMathFlags | |
DiffWrapFlags | |
NotConsecutive | |
CantSchedule | |
Unimplemented | |
Infeasible |
Definition at line 33 of file Legality.h.
|
static |
Definition at line 26 of file BottomUpVec.cpp.
References I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::sandboxir::BottomUpVec::runOnFunction().
Definition at line 181 of file Legality.cpp.
References llvm::dbgs().
Referenced by llvm::sandboxir::LegalityAnalysis::canVectorize().
|
static |
Definition at line 45 of file BottomUpVec.cpp.
References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().
|
static |
\Returns the LLVM opcode that corresponds to Opc
.
Definition at line 1180 of file Instruction.cpp.
Referenced by llvm::sandboxir::BinaryOperator::create().
|
static |
Definition at line 993 of file Instruction.cpp.
Referenced by llvm::sandboxir::CastInst::create().
|
static |
\Returns the LLVM opcode that corresponds to Opc
.
Definition at line 1028 of file Instruction.cpp.
References llvm_unreachable.
Referenced by llvm::sandboxir::UnaryOperator::create().
|
static |
Definition at line 34 of file BottomUpVec.cpp.
References Operands.
Referenced by llvm::sandboxir::InsertValueInst::getAggregateOperand(), llvm::sandboxir::ExtractValueInst::getAggregateOperand(), llvm::sandboxir::CallBase::getArgOperand(), llvm::sandboxir::SelectInst::getCondition(), llvm::sandboxir::SelectInst::getFalseValue(), llvm::sandboxir::ExtractElementInst::getIndexOperand(), llvm::sandboxir::InsertValueInst::getInsertedValueOperand(), llvm::sandboxir::AddrSpaceCastInst::getPointerOperand(), llvm::sandboxir::CatchSwitchInst::getSuccessor(), llvm::sandboxir::SelectInst::getTrueValue(), and llvm::sandboxir::ExtractElementInst::getVectorOperand().
|
static |
Definition at line 145 of file DependencyGraph.cpp.
References assert(), I, llvm::sandboxir::DGNode::isFenceLike(), and llvm::sandboxir::DGNode::isMemDepCandidate().
|
static |
Definition at line 142 of file SeedCollector.cpp.
References llvm::sandboxir::Utils::getExpectedType(), llvm::sandboxir::Type::isPPC_FP128Ty(), llvm::sandboxir::VectorType::isValidElementType(), and llvm::sandboxir::Type::isX86_FP80Ty().
Referenced by llvm::sandboxir::SeedCollector::SeedCollector().
template bool llvm::sandboxir::isValidMemSeed< LoadInst > | ( | LoadInst * | LSI | ) |
template bool llvm::sandboxir::isValidMemSeed< StoreInst > | ( | StoreInst * | LSI | ) |
|
static |
While OpIt points to a Value that is not an Instruction keep incrementing it.
\Returns the first iterator that points to an Instruction, or end.
Definition at line 50 of file DependencyGraph.h.
Referenced by llvm::sandboxir::PredIterator::operator++(), llvm::sandboxir::DGNode::preds_begin(), and llvm::sandboxir::MemDGNode::preds_begin().
cl::opt< std::string > llvm::sandboxir::CollectSeeds("sbvec-collect-seeds", cl::init(LoadSeedsDef "," StoreSeedsDef), cl::Hidden, cl::desc("Collect these seeds. Use empty for none or a comma-separated " "list of '" LoadSeedsDef "' and '" StoreSeedsDef "'.")) | ( | "sbvec-collect-seeds" | , |
cl::init(LoadSeedsDef "," StoreSeedsDef) | , | ||
cl::Hidden | , | ||
cl::desc("Collect these seeds. Use empty for none or a comma-separated " "list of '" LoadSeedsDef "' and '" StoreSeedsDef "'.") | |||
) |
Referenced by llvm::sandboxir::SeedCollector::SeedCollector().
|
staticconstexpr |
Definition at line 684 of file Context.cpp.
Referenced by llvm::sandboxir::Context::registerCreateInstrCallback(), llvm::sandboxir::Context::registerEraseInstrCallback(), and llvm::sandboxir::Context::registerMoveInstrCallback().
cl::opt< unsigned > llvm::sandboxir::SeedBundleSizeLimit("sbvec-seed-bundle-size-limit", cl::init(32), cl::Hidden, cl::desc("Limit the size of the seed bundle to cap compilation time.")) | ( | "sbvec-seed-bundle-size-limit" | , |
cl::init(32) | , | ||
cl::Hidden | , | ||
cl::desc("Limit the size of the seed bundle to cap compilation time.") | |||
) |
Referenced by llvm::sandboxir::SeedContainer::insert().
cl::opt< unsigned > llvm::sandboxir::SeedGroupsLimit("sbvec-seed-groups-limit", cl::init(256), cl::Hidden, cl::desc("Limit the number of collected seeds groups in a BB to " "cap compilation time.")) | ( | "sbvec-seed-groups-limit" | , |
cl::init(256) | , | ||
cl::Hidden | , | ||
cl::desc("Limit the number of collected seeds groups in a BB to " "cap compilation time.") | |||
) |
Referenced by llvm::sandboxir::SeedCollector::SeedCollector().