|
class | BreakConstantGEPs |
|
class | MergeFunctionRets |
|
class | CHGBuilder |
|
class | DCHEdge |
|
class | DCHNode |
|
class | DCHGraph |
| Dwarf based CHG. More...
|
|
struct | GenericGraphTraits< SVF::DCHNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::DCHNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::DCHGraph * > |
|
class | ICFGBuilder |
|
class | LLVMLoopAnalysis |
|
class | LLVMModuleSet |
|
class | ObjTypeInference |
|
class | SVFIRBuilder |
|
class | SymbolTableBuilder |
|
class | AbstractState |
|
class | AbstractValue |
|
class | AddressValue |
|
class | ICFGWTO |
|
class | IntervalValue |
|
class | BoundedInt |
| A class representing a bounded 64-bit integer. More...
|
|
class | BoundedDouble |
|
class | RelationSolver |
|
class | RelExeState |
|
class | AbsExtAPI |
| Handles external API calls and manages abstract states. More...
|
|
class | FILOWorkList |
|
class | AEStat |
| AEStat: Statistic for AE. More...
|
|
class | AbstractInterpretation |
| AbstractInterpretation is same as Abstract Execution. More...
|
|
class | AEDetector |
| Base class for all detectors. More...
|
|
class | AEException |
| Exception class for handling errors in Abstract Execution. More...
|
|
class | BufOverflowDetector |
| Detector for identifying buffer overflow issues. More...
|
|
class | CFGNormalizer |
|
class | GrammarBase |
|
class | CFGrammar |
|
class | CFLFIFOWorkList |
|
class | CFLAlias |
|
class | POCRAlias |
|
class | POCRHybrid |
|
class | CFLBase |
| CFL Client Base Class. More...
|
|
class | CFLGramGraphChecker |
|
class | CFLGraphBuilder |
|
class | AliasCFLGraphBuilder |
| AliasCFLGraphBuilder: a CFLGraphBuilder specialized for handling aliasing. More...
|
|
class | VFCFLGraphBuilder |
| VFCFLGraphBuilder: a CFLGraphBuilder specialized for handling value-flow. More...
|
|
class | CFLSolver |
|
class | POCRSolver |
| Solver Utilize CFLData. More...
|
|
class | POCRHybridSolver |
| Solver Utilize Hybrid Representation of Graph. More...
|
|
class | CFLStat |
|
class | CFLSVFGBuilder |
|
class | CFLVF |
|
class | GrammarBuilder |
|
class | ContextDDA |
|
class | DDAClient |
|
class | FunptrDDAClient |
|
class | AliasDDAClient |
|
class | DDAPass |
|
class | DDAStat |
|
class | DDAVFSolver |
|
class | FlowDDA |
|
class | CDGEdge |
|
class | CDGNode |
|
class | CDG |
|
struct | GenericGraphTraits< SVF::CDGNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::CDGNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse ICFGTraversal. More...
|
|
struct | GenericGraphTraits< SVF::CDG * > |
|
struct | DOTGraphTraits< SVF::CDG * > |
|
class | CFLEdge |
|
class | CFLNode |
|
class | CFLGraph |
|
struct | GenericGraphTraits< SVF::CFLNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::CFLNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::CFLGraph * > |
|
class | CommonCHGraph |
| Common base for class hierarchy graph. Only implements what PointerAnalysis needs. More...
|
|
class | CHEdge |
|
class | CHNode |
|
class | CHGraph |
|
struct | GenericGraphTraits< SVF::CHNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::CHNode * > > |
|
struct | GenericGraphTraits< SVF::CHGraph * > |
|
class | ConstraintGraph |
|
struct | GenericGraphTraits< SVF::ConstraintNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::ConstraintNode * > > |
| Inverse GenericGraphTraits specializations for Value flow node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::ConstraintGraph * > |
|
class | ConstraintEdge |
|
class | AddrCGEdge |
|
class | CopyCGEdge |
|
class | StoreCGEdge |
|
class | LoadCGEdge |
|
class | GepCGEdge |
|
class | NormalGepCGEdge |
|
class | VariantGepCGEdge |
|
class | ConstraintNode |
|
struct | DefaultDOTGraphTraits |
|
struct | DOTGraphTraits |
|
class | GenericGraphWriter |
|
class | GenericGraphReader |
|
class | GenericEdge |
|
class | SVFBaseNode |
|
class | GenericNode |
|
class | GenericGraph |
|
class | mapped_iter |
|
struct | GenericGraphTraits< SVF::GenericNode< NodeTy, EdgeTy > * > |
|
struct | GenericGraphTraits< Inverse< SVF::GenericNode< NodeTy, EdgeTy > * > > |
|
struct | GenericGraphTraits< SVF::GenericGraph< NodeTy, EdgeTy > * > |
|
class | GraphPrinter |
|
struct | GenericGraphTraits |
|
struct | Inverse |
|
struct | GenericGraphTraits< Inverse< Inverse< T > > > |
|
class | GraphWriter |
|
class | ICFG |
|
struct | GenericGraphTraits< SVF::ICFGNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::ICFGNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::ICFG * > |
|
class | ICFGEdge |
|
class | IntraCFGEdge |
|
class | CallCFGEdge |
|
class | RetCFGEdge |
|
class | ICFGNode |
|
class | GlobalICFGNode |
|
class | IntraICFGNode |
|
class | InterICFGNode |
|
class | FunEntryICFGNode |
|
class | FunExitICFGNode |
|
class | CallICFGNode |
|
class | RetICFGNode |
|
class | ICFGStat |
|
class | IRGraph |
|
struct | GenericGraphTraits< SVF::SVFVar * > |
|
struct | GenericGraphTraits< Inverse< SVF::SVFVar * > > |
| Inverse GenericGraphTraits specializations for SVFIR node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::IRGraph * > |
|
class | PTACallGraphEdge |
|
class | PTACallGraphNode |
|
class | PTACallGraph |
|
struct | GenericGraphTraits< SVF::PTACallGraphNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::PTACallGraphNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::PTACallGraph * > |
|
class | SCCDetection |
|
class | SVFG |
|
struct | GenericGraphTraits< SVF::SVFG * > |
|
class | IndirectSVFGEdge |
|
class | IntraIndSVFGEdge |
|
class | CallIndSVFGEdge |
|
class | RetIndSVFGEdge |
|
class | ThreadMHPIndSVFGEdge |
|
class | MRSVFGNode |
|
class | FormalINSVFGNode |
|
class | FormalOUTSVFGNode |
|
class | ActualINSVFGNode |
|
class | ActualOUTSVFGNode |
|
class | MSSAPHISVFGNode |
|
class | IntraMSSAPHISVFGNode |
|
class | InterMSSAPHISVFGNode |
|
class | DummyVersionPropSVFGNode |
|
class | SVFGOPT |
|
class | MemSSAStat |
|
class | SVFGStat |
|
class | ThreadForkEdge |
|
class | ThreadJoinEdge |
|
class | HareParForEdge |
|
class | ThreadCallGraph |
|
class | VFG |
|
struct | GenericGraphTraits< SVF::VFGNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::VFGNode * > > |
| Inverse GenericGraphTraits specializations for call graph node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::VFG * > |
|
class | VFGEdge |
|
class | DirectSVFGEdge |
|
class | IntraDirSVFGEdge |
|
class | CallDirSVFGEdge |
|
class | RetDirSVFGEdge |
|
class | VFGNode |
|
class | StmtVFGNode |
|
class | LoadVFGNode |
|
class | StoreVFGNode |
|
class | CopyVFGNode |
|
class | CmpVFGNode |
|
class | BinaryOPVFGNode |
|
class | UnaryOPVFGNode |
|
class | BranchVFGNode |
|
class | GepVFGNode |
|
class | PHIVFGNode |
|
class | IntraPHIVFGNode |
|
class | AddrVFGNode |
|
class | ArgumentVFGNode |
|
class | ActualParmVFGNode |
|
class | FormalParmVFGNode |
|
class | ActualRetVFGNode |
|
class | FormalRetVFGNode |
|
class | InterPHIVFGNode |
|
class | NullPtrVFGNode |
|
class | WTO |
|
class | WTONode |
|
class | WTOCycle |
|
class | WTOComponentVisitor |
|
struct | has_nodetype |
|
struct | has_nodetype< T, std::void_t< typename T::NodeType > > |
|
struct | has_edgetype |
|
struct | has_edgetype< T, std::void_t< typename T::EdgeType > > |
|
class | WTOCycleDepth |
|
class | WTOComponent |
|
class | PTData |
|
class | DiffPTData |
|
class | DFPTData |
|
class | VersionedPTData |
|
class | AccessPath |
|
class | CondVar |
|
class | CondStdSet |
|
class | CondPointsToSet |
|
class | MutableDFPTData |
|
class | MutablePTData |
| PTData implemented using points-to sets which are created once and updated continuously. More...
|
|
class | MutableDiffPTData |
| DiffPTData implemented with points-to sets which are updated continuously. More...
|
|
class | MutableIncDFPTData |
| Incremental version of the mutable data-flow points-to data structure. More...
|
|
class | MutableVersionedPTData |
|
class | PersistentPointsToCache |
|
class | PersistentDFPTData |
| DFPTData backed by a PersistentPointsToCache. More...
|
|
class | PersistentIncDFPTData |
| Incremental version of the persistent data-flow points-to data structure. More...
|
|
class | PersistentVersionedPTData |
|
class | PersistentPTData |
| PTData backed by a PersistentPointsToCache. More...
|
|
class | PersistentDiffPTData |
| DiffPTData implemented with a persistent points-to backing. More...
|
|
class | PointerAnalysis |
|
class | BVDataPTAImpl |
|
class | CondPTAImpl |
|
class | PointsTo |
|
class | SVFLoop |
|
class | DistinctMRG |
|
class | IntraDisjointMRG |
|
class | InterDisjointMRG |
|
class | MemRegion |
| Memory Region class. More...
|
|
class | MRGenerator |
|
class | MemSSA |
|
class | MRVer |
|
class | MSSAMU |
|
class | LoadMU |
|
class | CallMU |
|
class | RetMU |
|
class | MSSADEF |
|
class | MSSACHI |
|
class | StoreCHI |
|
class | CallCHI |
|
class | EntryCHI |
|
class | MSSAPHI |
|
class | SVFGBuilder |
|
class | LockAnalysis |
|
class | MHP |
|
class | ForkJoinAnalysis |
|
class | MTA |
|
class | MTAStat |
|
class | TCTEdge |
|
class | TCTNode |
|
class | TCT |
|
struct | GenericGraphTraits< SVF::TCTNode * > |
|
struct | GenericGraphTraits< Inverse< SVF::TCTNode * > > |
| Inverse GenericGraphTraits specializations for Value flow node, it is used for inverse traversal. More...
|
|
struct | GenericGraphTraits< SVF::TCT * > |
|
class | DoubleFreeChecker |
|
class | FileChecker |
|
class | LeakChecker |
|
class | ProgSlice |
|
class | SaberCheckerAPI |
|
class | SaberCondAllocator |
|
class | SaberSVFGBuilder |
|
class | SrcSnkDDA |
|
class | SrcSnkSolver |
|
class | PAGBuilderFromFile |
|
class | WriterPtrPool |
| Bookkeeping class to keep track of the IDs of objects that doesn't have any ID. E.g., SVFValue, XXXEdge. More...
|
|
class | ICFGWriter |
|
class | SVFModuleWriter |
|
class | SVFIRWriter |
|
struct | KindBaseHelper |
| Type trait to get base type. Helper struct to detect inheritance from Node/Edge. More...
|
|
class | ReaderIDToObjMap |
| Keeps a map from IDs to T objects, such as XXNode. More...
|
|
class | ReaderPtrPool |
| Reverse of WriterPtrPool where T is object type without ID field. More...
|
|
class | SymbolTableInfoReader |
|
class | ICFGReader |
|
class | SVFModuleReader |
|
class | SVFIRReader |
|
class | SVFIR |
|
class | SVFModule |
|
class | SVFStmt |
|
class | AssignStmt |
|
class | AddrStmt |
|
class | CopyStmt |
|
class | StoreStmt |
|
class | LoadStmt |
|
class | GepStmt |
|
class | CallPE |
|
class | RetPE |
|
class | MultiOpndStmt |
|
class | PhiStmt |
|
class | SelectStmt |
|
class | CmpStmt |
|
class | BinaryOPStmt |
|
class | UnaryOPStmt |
|
class | BranchStmt |
|
class | TDForkPE |
|
class | TDJoinPE |
|
class | StInfo |
|
class | SVFType |
|
class | SVFPointerType |
|
class | SVFIntegerType |
|
class | SVFFunctionType |
|
class | SVFStructType |
|
class | SVFArrayType |
|
class | SVFOtherType |
|
struct | Hash< NodePair > |
|
class | SVFLoopAndDomInfo |
|
class | SVFValue |
|
class | SVFFunction |
|
class | SVFBasicBlock |
|
class | SVFInstruction |
|
class | SVFCallInst |
|
class | SVFVirtualCallInst |
|
class | SVFConstant |
|
class | SVFGlobalValue |
|
class | SVFArgument |
|
class | SVFConstantData |
|
class | SVFConstantInt |
|
class | SVFConstantFP |
|
class | SVFConstantNullPtr |
|
class | SVFBlackHoleValue |
|
class | SVFOtherValue |
|
class | SVFMetadataAsValue |
|
class | SVFVar |
|
class | ValVar |
|
class | ObjVar |
|
class | GepValVar |
|
class | GepObjVar |
|
class | FIObjVar |
|
class | RetPN |
|
class | VarArgPN |
|
class | DummyValVar |
|
class | DummyObjVar |
|
class | SymbolTableInfo |
|
class | MemObj |
|
class | ObjTypeInfo |
|
class | Annotator |
|
class | BitVector |
|
class | CallGraphBuilder |
|
class | CDGBuilder |
|
class | CoreBitVector |
|
struct | Hash< CoreBitVector > |
|
class | CxtStmt |
|
class | CxtThreadStmt |
|
class | CxtThread |
|
class | CxtProc |
|
class | CxtThreadProc |
|
class | DPItem |
|
class | StmtDPItem |
|
class | ContextCond |
|
class | CxtStmtDPItem |
|
class | CxtDPItem |
|
class | ExtAPI |
|
struct | Hash |
| provide extra hash function for std::pair handling More...
|
|
struct | Hash< std::pair< S, T > > |
|
class | GraphReachSolver |
|
class | iter_facade_base |
|
class | iter_adaptor_base |
|
struct | pointee_iter |
|
class | pointer_iterator |
|
class | iter_range |
|
class | NodeIDAllocator |
|
class | Options |
| Carries around command line options. More...
|
|
class | PTAStat |
|
struct | TrailingZerosCounter |
|
struct | PopulationCounter |
|
struct | LeadingZerosCounter |
|
struct | PopulationCounter< T, 8 > |
|
struct | SparseBitVectorElement |
|
class | SparseBitVector |
|
class | SVFBugEvent |
|
class | GenericBug |
|
class | BufferOverflowBug |
|
class | FullBufferOverflowBug |
|
class | PartialBufferOverflowBug |
|
class | NeverFreeBug |
|
class | PartialLeakBug |
|
class | DoubleFreeBug |
|
class | FileNeverCloseBug |
|
class | FilePartialCloseBug |
|
class | FullNullPtrDereferenceBug |
|
class | PartialNullPtrDereferenceBug |
|
class | SVFBugReport |
|
class | SVFStat |
|
class | ThreadAPI |
|
class | List |
|
class | FIFOWorkList |
|
class | Z3Expr |
|
class | AndersenBase |
|
class | Andersen |
|
class | AndersenWaveDiff |
|
class | AndersenSCD |
|
class | AndersenSFR |
|
class | CSC |
|
class | FlowSensitive |
|
class | Steensgaard |
|
class | TypeAnalysis |
|
class | VersionedFlowSensitive |
|
class | WPAFSSolver |
|
class | WPASCCSolver |
|
class | WPAMinimumSolver |
|
class | WPAPass |
|
class | WPASolver |
|
class | AndersenStat |
|
class | FlowSensitiveStat |
|
class | VersionedFlowSensitiveStat |
|
struct | DOTGraphTraits< CFLGraph * > |
|
struct | DOTGraphTraits< CHGraph * > |
|
struct | DOTGraphTraits< ConstraintGraph * > |
|
struct | DOTGraphTraits< ICFG * > |
|
struct | DOTGraphTraits< IRGraph * > |
|
struct | DOTGraphTraits< PTACallGraph * > |
|
struct | DOTGraphTraits< SVFG * > |
|
struct | DOTGraphTraits< VFG * > |
|
struct | DOTGraphTraits< TCT * > |
|
|
typedef llvm::LLVMContext | LLVMContext |
|
typedef llvm::GlobalObject | GlobalObject |
|
typedef llvm::Use | Use |
|
typedef llvm::ModulePass | ModulePass |
|
typedef llvm::IRBuilder | IRBuilder |
|
typedef llvm::UnifyFunctionExitNodes | UnifyFunctionExitNodes |
|
typedef llvm::Value | Value |
| LLVM Basic classes. More...
|
|
typedef llvm::Type | Type |
|
typedef llvm::Module | Module |
|
typedef llvm::Function | Function |
|
typedef llvm::BasicBlock | BasicBlock |
|
typedef llvm::Instruction | Instruction |
|
typedef llvm::GlobalValue | GlobalValue |
|
typedef llvm::SMDiagnostic | SMDiagnostic |
|
typedef llvm::BlockAddress | BlockAddress |
|
typedef llvm::StructType | StructType |
| LLVM types. More...
|
|
typedef llvm::ArrayType | ArrayType |
|
typedef llvm::PointerType | PointerType |
|
typedef llvm::IntegerType | IntegerType |
|
typedef llvm::FunctionType | FunctionType |
|
typedef llvm::MDString | MDString |
|
typedef llvm::MetadataAsValue | MetadataAsValue |
|
typedef llvm::StructLayout | StructLayout |
|
typedef llvm::ConstantStruct | ConstantStruct |
|
typedef llvm::MemoryLocation | MemoryLocation |
|
typedef llvm::DataLayout | DataLayout |
|
typedef llvm::NamedMDNode | NamedMDNode |
| LLVM metadata and debug information. More...
|
|
typedef llvm::MDNode | MDNode |
|
typedef llvm::DISubprogram | DISubprogram |
|
typedef llvm::ConstantData | ConstantData |
|
typedef llvm::ConstantAggregate | ConstantAggregate |
|
typedef llvm::ConstantAggregateZero | ConstantAggregateZero |
|
typedef llvm::ConstantDataSequential | ConstantDataSequential |
|
typedef llvm::ConstantExpr | ConstantExpr |
|
typedef llvm::ConstantDataArray | ConstantDataArray |
|
typedef llvm::ConstantArray | ConstantArray |
|
typedef llvm::Constant | Constant |
|
typedef llvm::ConstantInt | ConstantInt |
|
typedef llvm::ConstantFP | ConstantFP |
|
typedef llvm::ConstantPointerNull | ConstantPointerNull |
|
typedef llvm::GlobalAlias | GlobalAlias |
|
typedef llvm::GlobalIFunc | GlobalIFunc |
|
typedef llvm::GlobalVariable | GlobalVariable |
|
typedef llvm::DominatorTree | DominatorTree |
| LLVM Dominators. More...
|
|
typedef llvm::DomTreeNode | DomTreeNode |
|
typedef llvm::DominanceFrontier | DominanceFrontier |
|
typedef llvm::PostDominatorTree | PostDominatorTree |
|
typedef llvm::DominanceFrontierBase< llvm::BasicBlock, false > | DominanceFrontierBase |
|
typedef llvm::Loop | Loop |
| LLVM Loop. More...
|
|
typedef llvm::LoopInfo | LoopInfo |
|
typedef llvm::User | User |
|
typedef llvm::Argument | Argument |
|
typedef llvm::CallBase | CallBase |
|
typedef llvm::CallInst | CallInst |
|
typedef llvm::StoreInst | StoreInst |
|
typedef llvm::LoadInst | LoadInst |
|
typedef llvm::AllocaInst | AllocaInst |
|
typedef llvm::AtomicCmpXchgInst | AtomicCmpXchgInst |
|
typedef llvm::AtomicRMWInst | AtomicRMWInst |
|
typedef llvm::BitCastInst | BitCastInst |
|
typedef llvm::BranchInst | BranchInst |
|
typedef llvm::SwitchInst | SwitchInst |
|
typedef llvm::CallBrInst | CallBrInst |
|
typedef llvm::ReturnInst | ReturnInst |
|
typedef llvm::CastInst | CastInst |
|
typedef llvm::CmpInst | CmpInst |
|
typedef llvm::ExtractValueInst | ExtractValueInst |
|
typedef llvm::ExtractElementInst | ExtractElementInst |
|
typedef llvm::GetElementPtrInst | GetElementPtrInst |
|
typedef llvm::InvokeInst | InvokeInst |
|
typedef llvm::ShuffleVectorInst | ShuffleVectorInst |
|
typedef llvm::PHINode | PHINode |
|
typedef llvm::IntToPtrInst | IntToPtrInst |
|
typedef llvm::InsertValueInst | InsertValueInst |
|
typedef llvm::FenceInst | FenceInst |
|
typedef llvm::FreezeInst | FreezeInst |
|
typedef llvm::UnreachableInst | UnreachableInst |
|
typedef llvm::InsertElementInst | InsertElementInst |
|
typedef llvm::LandingPadInst | LandingPadInst |
|
typedef llvm::ResumeInst | ResumeInst |
|
typedef llvm::SelectInst | SelectInst |
|
typedef llvm::VAArgInst | VAArgInst |
|
typedef llvm::VACopyInst | VACopyInst |
|
typedef llvm::VAEndInst | VAEndInst |
|
typedef llvm::VAStartInst | VAStartInst |
|
typedef llvm::BinaryOperator | BinaryOperator |
|
typedef llvm::UnaryOperator | UnaryOperator |
|
typedef llvm::UndefValue | UndefValue |
|
typedef llvm::GEPOperator | GEPOperator |
|
typedef std::pair< const BasicBlock *, const ConstantInt * > | SuccBBAndCondValPair |
|
typedef std::vector< SuccBBAndCondValPair > | SuccBBAndCondValPairVec |
|
typedef llvm::DIType | DIType |
|
typedef llvm::DICompositeType | DICompositeType |
|
typedef llvm::DIDerivedType | DIDerivedType |
|
typedef llvm::DebugInfoFinder | DebugInfoFinder |
|
typedef llvm::DISubroutineType | DISubroutineType |
|
typedef llvm::DIBasicType | DIBasicType |
|
typedef llvm::DISubrange | DISubrange |
|
typedef llvm::DINode | DINode |
|
typedef llvm::DINodeArray | DINodeArray |
|
typedef llvm::DITypeRefArray | DITypeRefArray |
|
typedef llvm::inst_iterator | inst_iterator |
|
typedef llvm::const_inst_iterator | const_inst_iterator |
|
typedef llvm::gep_type_iterator | gep_type_iterator |
|
typedef llvm::bridge_gep_iterator | bridge_gep_iterator |
|
typedef llvm::const_pred_iterator | const_pred_iterator |
|
typedef llvm::ScalarEvolutionWrapperPass | ScalarEvolutionWrapperPass |
|
typedef llvm::SCEVAddRecExpr | SCEVAddRecExpr |
|
typedef llvm::SCEVConstant | SCEVConstant |
|
typedef llvm::ScalarEvolution | ScalarEvolution |
|
typedef llvm::SCEV | SCEV |
|
typedef llvm::raw_fd_ostream | raw_fd_ostream |
| LLVM outputs. More...
|
|
typedef llvm::VectorType | VectorType |
|
typedef llvm::succ_const_iterator | succ_const_iterator |
| LLVM Iterators. More...
|
|
typedef WTOComponent< ICFG > | ICFGWTOComp |
|
typedef WTONode< ICFG > | ICFGSingletonWTO |
|
typedef WTOCycle< ICFG > | ICFGCycleWTO |
|
typedef GrammarBase::Symbol | Label |
|
typedef CxtStmtDPItem< SVFGNode > | CxtLocDPItem |
|
typedef StmtDPItem< SVFGNode > | LocDPItem |
|
typedef GenericEdge< CDGNode > | GenericCDGEdgeTy |
|
typedef GenericNode< CDGNode, CDGEdge > | GenericCDGNodeTy |
|
typedef std::vector< std::pair< NodeID, NodeID > > | NodePairVector |
|
typedef GenericGraph< CDGNode, CDGEdge > | GenericCDGTy |
|
typedef GenericEdge< CFLNode > | GenericCFLEdgeTy |
|
typedef GenericNode< CFLNode, CFLEdge > | GenericCFLNodeTy |
|
typedef GenericGraph< CFLNode, CFLEdge > | GenericCFLGraphTy |
| Edge-labeled graph for CFL Reachability analysis. More...
|
|
typedef Set< const SVFGlobalValue * > | VTableSet |
|
typedef Set< const SVFFunction * > | VFunSet |
|
typedef GenericEdge< CHNode > | GenericCHEdgeTy |
|
typedef GenericNode< CHNode, CHEdge > | GenericCHNodeTy |
|
typedef GenericGraph< CHNode, CHEdge > | GenericCHGraphTy |
| class hierarchy graph More...
|
|
typedef GenericEdge< ConstraintNode > | GenericConsEdgeTy |
|
typedef GenericNode< ConstraintNode, ConstraintEdge > | GenericConsNodeTy |
|
typedef GenericGraph< ICFGNode, ICFGEdge > | GenericICFGTy |
|
typedef GenericEdge< ICFGNode > | GenericICFGEdgeTy |
|
typedef GenericNode< ICFGNode, ICFGEdge > | GenericICFGNodeTy |
|
typedef SVFVar | PAGNode |
|
typedef SVFStmt | PAGEdge |
|
typedef GenericEdge< PTACallGraphNode > | GenericCallGraphEdgeTy |
|
typedef GenericNode< PTACallGraphNode, PTACallGraphEdge > | GenericCallGraphNodeTy |
|
typedef GenericGraph< PTACallGraphNode, PTACallGraphEdge > | GenericCallGraphTy |
|
typedef VFGEdge | SVFGEdge |
|
typedef VFGNode | SVFGNode |
|
typedef ActualParmVFGNode | ActualParmSVFGNode |
|
typedef ActualRetVFGNode | ActualRetSVFGNode |
|
typedef FormalParmVFGNode | FormalParmSVFGNode |
|
typedef FormalRetVFGNode | FormalRetSVFGNode |
|
typedef NullPtrVFGNode | NullPtrSVFGNode |
|
typedef StmtVFGNode | StmtSVFGNode |
|
typedef AddrVFGNode | AddrSVFGNode |
|
typedef CopyVFGNode | CopySVFGNode |
|
typedef StoreVFGNode | StoreSVFGNode |
|
typedef LoadVFGNode | LoadSVFGNode |
|
typedef GepVFGNode | GepSVFGNode |
|
typedef PHIVFGNode | PHISVFGNode |
|
typedef IntraPHIVFGNode | IntraPHISVFGNode |
|
typedef InterPHIVFGNode | InterPHISVFGNode |
|
typedef GenericGraph< VFGNode, VFGEdge > | GenericVFGTy |
|
typedef GenericEdge< VFGNode > | GenericVFGEdgeTy |
|
typedef GenericNode< VFGNode, VFGEdge > | GenericVFGNodeTy |
|
typedef NodeID | MRID |
|
typedef NodeID | MRVERID |
|
typedef NodeID | MRVERSION |
|
typedef GenericEdge< TCTNode > | GenericTCTEdgeTy |
|
typedef GenericNode< TCTNode, TCTEdge > | GenericTCTNodeTy |
|
typedef GenericGraph< TCTNode, TCTEdge > | GenericThreadCreateTreeTy |
|
typedef GraphReachSolver< SVFG *, CxtDPItem > | CFLSrcSnkSolver |
|
using | GenericICFGWriter = GenericGraphWriter< ICFGNode, ICFGEdge > |
|
using | IRGraphWriter = GenericGraphWriter< SVFVar, SVFStmt > |
|
using | CHGraphWriter = GenericGraphWriter< CHNode, CHEdge > |
|
template<typename T > |
using | KindBaseT = typename KindBaseHelper< T >::type |
|
using | GenericICFGReader = GenericGraphReader< ICFGNode, ICFGEdge > |
|
using | CHGraphReader = GenericGraphReader< CHNode, CHEdge > |
|
using | IRGraphReader = GenericGraphReader< SVFVar, SVFStmt > |
|
typedef SVFIR | PAG |
|
typedef GenericEdge< SVFVar > | GenericPAGEdgeTy |
|
typedef SVF::GraphPrinter | GraphPrinter |
| LLVM Aliases and constants. More...
|
|
typedef GenericNode< SVFVar, SVFStmt > | GenericPAGNodeTy |
|
typedef CondVar< ContextCond > | CxtVar |
|
typedef CondStdSet< CxtVar > | CxtPtSet |
|
typedef std::ostream | OutStream |
|
typedef unsigned | u32_t |
|
typedef signed | s32_t |
|
typedef unsigned long long | u64_t |
|
typedef signed long long | s64_t |
|
typedef unsigned char | u8_t |
|
typedef signed char | s8_t |
|
typedef unsigned short | u16_t |
|
typedef signed short | s16_t |
|
typedef u32_t | NodeID |
|
typedef u32_t | EdgeID |
|
typedef unsigned | SymID |
|
typedef unsigned | CallSiteID |
|
typedef unsigned | ThreadID |
|
typedef s64_t | APOffset |
|
typedef SparseBitVector | NodeBS |
|
typedef unsigned | PointsToID |
|
template<typename Key , typename Hash = Hash<Key>, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<Key>> |
using | Set = std::unordered_set< Key, Hash, KeyEqual, Allocator > |
|
template<typename Key , typename Value , typename Hash = Hash<Key>, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>> |
using | Map = std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > |
|
template<typename Key , typename Compare = std::less<Key>, typename Allocator = std::allocator<Key>> |
using | OrderedSet = std::set< Key, Compare, Allocator > |
|
template<typename Key , typename Value , typename Compare = std::less<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>> |
using | OrderedMap = std::map< Key, Value, Compare, Allocator > |
|
typedef std::pair< NodeID, NodeID > | NodePair |
|
typedef OrderedSet< NodeID > | OrderedNodeSet |
|
typedef Set< NodeID > | NodeSet |
|
typedef Set< NodePair > | NodePairSet |
|
typedef Map< NodePair, NodeID > | NodePairMap |
|
typedef std::vector< NodeID > | NodeVector |
|
typedef std::vector< EdgeID > | EdgeVector |
|
typedef std::stack< NodeID > | NodeStack |
|
typedef std::list< NodeID > | NodeList |
|
typedef std::deque< NodeID > | NodeDeque |
|
typedef NodeSet | EdgeSet |
|
typedef std::vector< u32_t > | CallStrCxt |
|
typedef unsigned | Version |
|
typedef Set< Version > | VersionSet |
|
typedef std::pair< NodeID, Version > | VersionedVar |
|
typedef Set< VersionedVar > | VersionedVarSet |
|
template<typename WrappedIteratorT , typename T1 = std::remove_reference_t<decltype( **std::declval<WrappedIteratorT>())>, typename T2 = std::add_pointer_t<T1>> |
using | raw_pointer_iterator = pointer_iterator< pointee_iter< WrappedIteratorT, T1 >, T2 > |
|
typedef WPASolver< ConstraintGraph * > | WPAConstraintSolver |
|
typedef SCCDetection< ConstraintGraph * > | CGSCC |
|
typedef WPAFSSolver< SVFG * > | WPASVFGFSSolver |
|
|
IntervalValue | operator+ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Add IntervalValues. More...
|
|
IntervalValue | operator- (const IntervalValue &lhs, const IntervalValue &rhs) |
| Subtract IntervalValues. More...
|
|
IntervalValue | operator* (const IntervalValue &lhs, const IntervalValue &rhs) |
| Multiply IntervalValues. More...
|
|
IntervalValue | operator/ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Divide IntervalValues. More...
|
|
IntervalValue | operator% (const IntervalValue &lhs, const IntervalValue &rhs) |
| Divide IntervalValues. More...
|
|
IntervalValue | operator> (const IntervalValue &lhs, const IntervalValue &rhs) |
|
IntervalValue | operator< (const IntervalValue &lhs, const IntervalValue &rhs) |
|
IntervalValue | operator>= (const IntervalValue &lhs, const IntervalValue &rhs) |
|
IntervalValue | operator<= (const IntervalValue &lhs, const IntervalValue &rhs) |
|
IntervalValue | operator<< (const IntervalValue &lhs, const IntervalValue &rhs) |
| Left binary shift of IntervalValues. More...
|
|
IntervalValue | operator>> (const IntervalValue &lhs, const IntervalValue &rhs) |
| Left binary shift of IntervalValues. More...
|
|
IntervalValue | operator& (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise AND of IntervalValues. More...
|
|
IntervalValue | operator| (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise OR of IntervalValues. More...
|
|
IntervalValue | operator^ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise XOR of IntervalValues. More...
|
|
std::ostream & | operator<< (std::ostream &o, const IntervalValue &IntervalValue) |
| Write an IntervalValue on a stream. More...
|
|
template<class ItTy , class FuncTy > |
mapped_iter< ItTy, FuncTy > | map_iter (ItTy I, FuncTy F) |
|
template<class GraphType > |
iter_range< typename GenericGraphTraits< GraphType >::nodes_iterator > | nodes (const GraphType &G) |
|
template<class GraphType > |
iter_range< typename GenericGraphTraits< Inverse< GraphType > >::nodes_iterator > | inverse_nodes (const GraphType &G) |
|
template<class GraphType > |
iter_range< typename GenericGraphTraits< GraphType >::ChildIteratorType > | children (const typename GenericGraphTraits< GraphType >::NodeRef &G) |
|
template<class GraphType > |
iter_range< typename GenericGraphTraits< Inverse< GraphType > >::ChildIteratorType > | inverse_children (const typename GenericGraphTraits< GraphType >::NodeRef &G) |
|
template<class GraphType > |
iter_range< typename GenericGraphTraits< GraphType >::ChildEdgeIteratorType > | children_edges (const typename GenericGraphTraits< GraphType >::NodeRef &G) |
|
template<typename GraphType > |
std::ofstream & | WriteGraph (std::ofstream &O, const GraphType &G, bool ShortNames=false) |
|
template<typename GraphType > |
std::string | WriteGraph (const GraphType &G, bool ShortNames=false, std::string Filename="") |
|
template<typename GraphType > |
void | ViewGraph (const GraphType &G, const std::string &name, bool ShortNames=false, GraphProgram::Name Program=GraphProgram::DOT) |
|
PointsTo | operator| (const PointsTo &lhs, const PointsTo &rhs) |
| Returns a new lhs | rhs. More...
|
|
PointsTo | operator& (const PointsTo &lhs, const PointsTo &rhs) |
| Returns a new lhs & rhs. More...
|
|
PointsTo | operator- (const PointsTo &lhs, const PointsTo &rhs) |
| Returns a new lhs - rhs. More...
|
|
std::ostream & | operator<< (std::ostream &o, const MRVer &mrver) |
|
bool | jsonIsBool (const cJSON *item) |
|
bool | jsonIsBool (const cJSON *item, bool &flag) |
|
bool | jsonIsNumber (const cJSON *item) |
|
bool | jsonIsString (const cJSON *item) |
|
bool | jsonIsNullId (const cJSON *item) |
|
bool | jsonIsArray (const cJSON *item) |
|
bool | jsonIsMap (const cJSON *item) |
|
bool | jsonIsObject (const cJSON *item) |
|
bool | jsonKeyEquals (const cJSON *item, const char *key) |
|
std::pair< const cJSON *, const cJSON * > | jsonUnpackPair (const cJSON *item) |
|
double | jsonGetNumber (const cJSON *item) |
|
cJSON * | jsonCreateNullId () |
|
cJSON * | jsonCreateObject () |
|
cJSON * | jsonCreateArray () |
|
cJSON * | jsonCreateString (const char *str) |
|
cJSON * | jsonCreateIndex (size_t index) |
|
cJSON * | jsonCreateBool (bool flag) |
|
cJSON * | jsonCreateNumber (double num) |
|
bool | jsonAddPairToMap (cJSON *obj, cJSON *key, cJSON *value) |
|
bool | jsonAddItemToObject (cJSON *obj, const char *name, cJSON *item) |
|
bool | jsonAddItemToArray (cJSON *array, cJSON *item) |
|
bool | jsonAddNumberToObject (cJSON *obj, const char *name, double number) |
| Helper function to write a number to a JSON object. More...
|
|
bool | jsonAddStringToObject (cJSON *obj, const char *name, const char *str) |
|
bool | jsonAddStringToObject (cJSON *obj, const char *name, const std::string &s) |
|
| KIND_BASE (SVFType, getKind) |
|
| KIND_BASE (SVFValue, getKind) |
|
| KIND_BASE (SVFVar, getNodeKind) |
|
| KIND_BASE (SVFStmt, getEdgeKind) |
|
| KIND_BASE (ICFGNode, getNodeKind) |
|
| KIND_BASE (ICFGEdge, getEdgeKind) |
|
| KIND_BASE (CHNode, getNodeKind) |
|
| KIND_BASE (CHEdge, getEdgeKind) |
|
std::ostream & | operator<< (std::ostream &os, const SVFType &type) |
|
std::string | dumpLLVMValue (const SVFValue *svfValue) |
|
template<typename F , typename S > |
OutStream & | operator<< (OutStream &o, const std::pair< F, S > &var) |
|
template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))> |
iter_range< pointee_iter< WrappedIteratorT > > | make_pointee_range (RangeT &&Range) |
|
template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))> |
iter_range< pointer_iterator< WrappedIteratorT > > | make_pointer_range (RangeT &&Range) |
|
template<class T > |
iter_range< T > | make_range (T x, T y) |
|
template<typename T > |
iter_range< T > | make_range (std::pair< T, T > p) |
|
template<typename T > |
unsigned | countTrailingZeros (T Val, ZeroBehavior ZB=ZB_Width) |
|
template<typename T > |
unsigned | countLeadingZeros (T Val, ZeroBehavior ZB=ZB_Width) |
|
template<typename T > |
unsigned | countPopulation (T Value) |
|
template<unsigned ElementSize> |
bool | operator|= (SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > *RHS) |
|
template<unsigned ElementSize> |
bool | operator|= (SparseBitVector< ElementSize > *LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
bool | operator&= (SparseBitVector< ElementSize > *LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
bool | operator&= (SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > *RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator| (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator& (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator- (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
void | dump (const SparseBitVector< ElementSize > &LHS, std::ostream &out) |
|
SVFType * | createSVFType (SVFType::GNodeK kind, bool isSingleValTy) |
|
static SVFValue * | createSVFValue (SVFValue::GNodeK kind, const SVFType *type, std::string &&name) |
|
template<typename SmallNumberType > |
static void | readSmallNumber (const cJSON *obj, SmallNumberType &val) |
|
template<typename BigNumberType , typename CStrToVal > |
static void | readBigNumber (const cJSON *obj, BigNumberType &val, CStrToVal conv) |
|
cJSON * | jsonCreateMap () |
|
| __attribute__ ((weak)) std |
|
for isBitcode
For a more detailed explanation of how External APIs are handled in SVF, please refer to the SVF Wiki: https://github.com/SVF-tools/SVF/wiki/Handling-External-APIs-with-extapi.c.
Contains abstract classes for: PTData: basic points-to data structure derived by all others. DiffPTData: PTData which only propagates new changes, not entire points-to sets. DFPTData: flow-sensitive PTData as defined by Hardekopf and Lin (CGO '11).
Hierarchy (square brackets indicate abstract class):
+------------> [PTData] <----------------+---------------------+
| ^ | |
| | | |
MutablePTData [DiffPTData] [DFPTData] [VersionedPTData] ^ ^ ^ | | | MutableDiffPTData MutableDFPTData MutableVersionedPTData ^ | MutableIncDFPTData
PTData (AbstractPointsToDS.h) implementations with a mutable backend. Each Key is given a points-to set which is itself updated till the analysis terminates.
PTData (AbstractPointsToDS.h) implementations with a persistent backend. Each Key is given a cheap points-to ID which refers to some real points-to set.
GraphTraits specialization for constraint graph
GraphTraits specialization