|
Static Value-Flow Analysis
|
for isBitcode More...
Namespaces | |
| namespace | cppUtil |
| namespace | LLVMUtil |
| namespace | DOT |
| namespace | GraphProgram |
| namespace | SVFUtil |
Typedefs | |
| typedef llvm::LLVMContext | LLVMContext |
| typedef llvm::GlobalObject | GlobalObject |
| typedef llvm::Use | Use |
| typedef llvm::ModulePass | ModulePass |
| typedef llvm::IRBuilder | IRBuilder |
| typedef llvm::UnifyFunctionExitNodesPass | UnifyFunctionExitNodes |
| typedef llvm::Value | Value |
| LLVM Basic classes. | |
| 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. | |
| 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. | |
| 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::InlineAsm | InlineAsm |
| typedef llvm::DSOLocalEquivalent | DSOLocalEquivalent |
| typedef llvm::NoCFIValue | NoCFIValue |
| typedef llvm::GlobalAlias | GlobalAlias |
| typedef llvm::GlobalIFunc | GlobalIFunc |
| typedef llvm::GlobalVariable | GlobalVariable |
| typedef llvm::DominatorTree | DominatorTree |
| LLVM Dominators. | |
| 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. | |
| 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::IntrinsicInst | IntrinsicInst |
| typedef llvm::DbgInfoIntrinsic | DbgInfoIntrinsic |
| typedef llvm::DbgVariableIntrinsic | DbgVariableIntrinsic |
| typedef llvm::DbgDeclareInst | DbgDeclareInst |
| typedef llvm::DbgValueInst | DbgValueInst |
| typedef llvm::DbgLabelInst | DbgLabelInst |
| typedef llvm::VPIntrinsic | VPIntrinsic |
| typedef llvm::ConstrainedFPIntrinsic | ConstrainedFPIntrinsic |
| typedef llvm::ConstrainedFPCmpIntrinsic | ConstrainedFPCmpIntrinsic |
| typedef llvm::MinMaxIntrinsic | MinMaxIntrinsic |
| typedef llvm::BinaryOpIntrinsic | BinaryOpIntrinsic |
| typedef llvm::WithOverflowInst | WithOverflowInst |
| typedef llvm::SaturatingInst | SaturatingInst |
| typedef llvm::AtomicMemIntrinsic | AtomicMemIntrinsic |
| typedef llvm::AtomicMemSetInst | AtomicMemSetInst |
| typedef llvm::AtomicMemTransferInst | AtomicMemTransferInst |
| typedef llvm::AtomicMemCpyInst | AtomicMemCpyInst |
| typedef llvm::AtomicMemMoveInst | AtomicMemMoveInst |
| typedef llvm::MemIntrinsic | MemIntrinsic |
| typedef llvm::MemSetInst | MemSetInst |
| typedef llvm::MemTransferInst | MemTransferInst |
| typedef llvm::MemCpyInst | MemCpyInst |
| typedef llvm::MemMoveInst | MemMoveInst |
| typedef llvm::MemCpyInlineInst | MemCpyInlineInst |
| typedef llvm::AnyMemIntrinsic | AnyMemIntrinsic |
| typedef llvm::AnyMemSetInst | AnyMemSetInst |
| typedef llvm::AnyMemTransferInst | AnyMemTransferInst |
| typedef llvm::AnyMemCpyInst | AnyMemCpyInst |
| typedef llvm::AnyMemMoveInst | AnyMemMoveInst |
| typedef llvm::InstrProfIncrementInst | InstrProfIncrementInst |
| typedef llvm::InstrProfIncrementInstStep | InstrProfIncrementInstStep |
| typedef llvm::InstrProfValueProfileInst | InstrProfValueProfileInst |
| typedef llvm::PseudoProbeInst | PseudoProbeInst |
| typedef llvm::NoAliasScopeDeclInst | NoAliasScopeDeclInst |
| typedef llvm::GCStatepointInst | GCStatepointInst |
| typedef llvm::GCProjectionInst | GCProjectionInst |
| typedef llvm::GCRelocateInst | GCRelocateInst |
| typedef llvm::GCResultInst | GCResultInst |
| typedef llvm::AssumeInst | AssumeInst |
| 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. | |
| typedef llvm::VectorType | VectorType |
| typedef llvm::FunctionCallee | FunctionCallee |
| typedef llvm::const_succ_iterator | succ_const_iterator |
| LLVM Iterators. | |
| 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< SVFBasicBlock > | GenericBasicBlockEdgeTy |
| typedef GenericNode< SVFBasicBlock, BasicBlockEdge > | GenericBasicBlockNodeTy |
| typedef GenericGraph< SVFBasicBlock, BasicBlockEdge > | GenericBasicBlockGraphTy |
| typedef GenericEdge< CallGraphNode > | GenericPTACallGraphEdgeTy |
| typedef GenericNode< CallGraphNode, CallGraphEdge > | GenericPTACallGraphNodeTy |
| typedef GenericGraph< CallGraphNode, CallGraphEdge > | GenericPTACallGraphTy |
| 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. | |
| typedef Set< const GlobalObjVar * > | VTableSet |
| typedef Set< const FunObjVar * > | VFunSet |
| typedef GenericEdge< CHNode > | GenericCHEdgeTy |
| typedef GenericNode< CHNode, CHEdge > | GenericCHNodeTy |
| typedef GenericGraph< CHNode, CHEdge > | GenericCHGraphTy |
| class hierarchy graph | |
| 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 |
| using | SlicedICFGNodeRef = SlicedNodeRef<SlicedICFGView, ICFGNode> |
| using | SlicedCallGraphNodeRef = SlicedNodeRef<SlicedThreadCallGraphView, CallGraphNode> |
| using | SlicedPAGNodeRef = SlicedNodeRef<SlicedPAGView, SVFVar> |
| using | SlicedSVFGNodeRef = SlicedNodeRef<SlicedSVFGView, SVFGNode> |
| typedef GenericEdge< SparseObjNode > | GenericSparseObjEdgeTy |
| typedef GenericNode< SparseObjNode, SparseObjEdge > | GenericSparseObjNodeTy |
| typedef GenericGraph< SparseObjNode, SparseObjEdge > | GenericSparseObjGraphTy |
| 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 |
| typedef SVFIR | PAG |
| typedef GenericEdge< SVFVar > | GenericPAGEdgeTy |
| typedef GenericNode< SVFVar, SVFStmt > | GenericPAGNodeTy |
| typedef CondVar< ContextCond > | CxtVar |
| typedef CondStdSet< CxtVar > | CxtPtSet |
| 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::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 | CallSiteID |
| typedef unsigned | ThreadID |
| typedef s64_t | APOffset |
| typedef SparseBitVector | NodeBS |
| typedef unsigned | PointsToID |
| 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 |
| typedef WPASolver< ConstraintGraph * > | WPAConstraintSolver |
| typedef SCCDetection< ConstraintGraph * > | CGSCC |
| typedef WPAFSSolver< SVFG * > | WPASVFGFSSolver |
Enumerations | |
| enum class | TargetABI { Itanium , MSVC } |
| C++ ABI inferred from the target triple. More... | |
| enum class | BuildDirection { plain , bidirection } |
| enum | PTATY { Andersen_BASE , Andersen_WPA , AndersenSCD_WPA , AndersenSFR_WPA , AndersenWaveDiff_WPA , Steensgaard_WPA , CSCallString_WPA , CSSummary_WPA , FSDATAFLOW_WPA , FSSPARSE_WPA , VFS_WPA , FSCS_WPA , CFLFICI_WPA , CFLFSCI_WPA , CFLFSCS_WPA , TypeCPP_WPA , FieldS_DDA , FlowS_DDA , PathS_DDA , Cxt_DDA , Default_PTA } |
| Pointer analysis type list. More... | |
| enum | PTAImplTy { BaseImpl , BVDataImpl , CondImpl } |
| Implementation type: BVDataPTAImpl or CondPTAImpl. More... | |
| enum | PTBackingType { Mutable , Persistent } |
| How the PTData used is implemented. More... | |
| enum | ModRefInfo { ModRef , Ref , Mod , NoModRef } |
| enum | AliasResult { NoAlias , MayAlias , MustAlias , PartialAlias } |
| enum | ZeroBehavior { ZB_Undefined , ZB_Max , ZB_Width } |
| The behavior an operation has on an input of 0. More... | |
Functions | |
| IntervalValue | operator+ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Add IntervalValues. | |
| IntervalValue | operator- (const IntervalValue &lhs, const IntervalValue &rhs) |
| Subtract IntervalValues. | |
| IntervalValue | operator* (const IntervalValue &lhs, const IntervalValue &rhs) |
| Multiply IntervalValues. | |
| IntervalValue | operator/ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Divide IntervalValues. | |
| IntervalValue | operator% (const IntervalValue &lhs, const IntervalValue &rhs) |
| Divide IntervalValues. | |
| 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. | |
| IntervalValue | operator>> (const IntervalValue &lhs, const IntervalValue &rhs) |
| Left binary shift of IntervalValues. | |
| IntervalValue | operator& (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise AND of IntervalValues. | |
| IntervalValue | operator| (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise OR of IntervalValues. | |
| IntervalValue | operator^ (const IntervalValue &lhs, const IntervalValue &rhs) |
| Bitwise XOR of IntervalValues. | |
| std::ostream & | operator<< (std::ostream &o, const IntervalValue &IntervalValue) |
| Write an IntervalValue on a stream. | |
| 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. | |
| PointsTo | operator& (const PointsTo &lhs, const PointsTo &rhs) |
| Returns a new lhs & rhs. | |
| PointsTo | operator- (const PointsTo &lhs, const PointsTo &rhs) |
| Returns a new lhs - rhs. | |
| std::ostream & | operator<< (std::ostream &o, const MRVer &mrver) |
| bool | isMTAStatEnabled () |
| std::ostream & | operator<< (std::ostream &os, const SVFType &type) |
| 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) |
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
| typedef AddrVFGNode SVF::AddrSVFGNode |
| typedef llvm::AllocaInst SVF::AllocaInst |
Definition at line 151 of file BasicTypes.h.
| typedef llvm::AnyMemCpyInst SVF::AnyMemCpyInst |
Definition at line 222 of file BasicTypes.h.
| typedef llvm::AnyMemIntrinsic SVF::AnyMemIntrinsic |
Definition at line 219 of file BasicTypes.h.
| typedef llvm::AnyMemMoveInst SVF::AnyMemMoveInst |
Definition at line 223 of file BasicTypes.h.
| typedef llvm::AnyMemSetInst SVF::AnyMemSetInst |
Definition at line 220 of file BasicTypes.h.
| typedef llvm::AnyMemTransferInst SVF::AnyMemTransferInst |
Definition at line 221 of file BasicTypes.h.
| typedef s64_t SVF::APOffset |
Definition at line 80 of file GeneralType.h.
| typedef llvm::Argument SVF::Argument |
Definition at line 146 of file BasicTypes.h.
| typedef llvm::ArrayType SVF::ArrayType |
Definition at line 93 of file BasicTypes.h.
| typedef llvm::AssumeInst SVF::AssumeInst |
Definition at line 236 of file BasicTypes.h.
| typedef llvm::AtomicCmpXchgInst SVF::AtomicCmpXchgInst |
Definition at line 152 of file BasicTypes.h.
| typedef llvm::AtomicMemCpyInst SVF::AtomicMemCpyInst |
Definition at line 208 of file BasicTypes.h.
| typedef llvm::AtomicMemIntrinsic SVF::AtomicMemIntrinsic |
Definition at line 205 of file BasicTypes.h.
| typedef llvm::AtomicMemMoveInst SVF::AtomicMemMoveInst |
Definition at line 209 of file BasicTypes.h.
| typedef llvm::AtomicMemSetInst SVF::AtomicMemSetInst |
Definition at line 206 of file BasicTypes.h.
| typedef llvm::AtomicMemTransferInst SVF::AtomicMemTransferInst |
Definition at line 207 of file BasicTypes.h.
| typedef llvm::AtomicRMWInst SVF::AtomicRMWInst |
Definition at line 153 of file BasicTypes.h.
| typedef llvm::BasicBlock SVF::BasicBlock |
Definition at line 84 of file BasicTypes.h.
| typedef llvm::BinaryOperator SVF::BinaryOperator |
Definition at line 180 of file BasicTypes.h.
| typedef llvm::BinaryOpIntrinsic SVF::BinaryOpIntrinsic |
Definition at line 201 of file BasicTypes.h.
| typedef llvm::BitCastInst SVF::BitCastInst |
Definition at line 154 of file BasicTypes.h.
| typedef llvm::BlockAddress SVF::BlockAddress |
Definition at line 89 of file BasicTypes.h.
| typedef llvm::BranchInst SVF::BranchInst |
Definition at line 155 of file BasicTypes.h.
Definition at line 255 of file BasicTypes.h.
| typedef llvm::CallBase SVF::CallBase |
Definition at line 147 of file BasicTypes.h.
| typedef llvm::CallBrInst SVF::CallBrInst |
Definition at line 157 of file BasicTypes.h.
| typedef llvm::CallInst SVF::CallInst |
Definition at line 148 of file BasicTypes.h.
| typedef unsigned SVF::CallSiteID |
Definition at line 78 of file GeneralType.h.
| typedef std::vector<u32_t> SVF::CallStrCxt |
Definition at line 96 of file GeneralType.h.
| typedef llvm::CastInst SVF::CastInst |
Definition at line 159 of file BasicTypes.h.
| typedef GraphReachSolver<SVFG*,CxtDPItem> SVF::CFLSrcSnkSolver |
Definition at line 49 of file SrcSnkDDA.h.
| typedef SCCDetection<ConstraintGraph *> SVF::CGSCC |
| typedef llvm::CmpInst SVF::CmpInst |
Definition at line 160 of file BasicTypes.h.
| typedef llvm::const_inst_iterator SVF::const_inst_iterator |
Definition at line 253 of file BasicTypes.h.
| typedef llvm::const_pred_iterator SVF::const_pred_iterator |
Definition at line 257 of file BasicTypes.h.
| typedef llvm::Constant SVF::Constant |
Definition at line 122 of file BasicTypes.h.
| typedef llvm::ConstantAggregate SVF::ConstantAggregate |
Definition at line 115 of file BasicTypes.h.
| typedef llvm::ConstantAggregateZero SVF::ConstantAggregateZero |
Definition at line 116 of file BasicTypes.h.
| typedef llvm::ConstantArray SVF::ConstantArray |
Definition at line 121 of file BasicTypes.h.
| typedef llvm::ConstantData SVF::ConstantData |
Definition at line 114 of file BasicTypes.h.
| typedef llvm::ConstantDataArray SVF::ConstantDataArray |
Definition at line 119 of file BasicTypes.h.
| typedef llvm::ConstantDataSequential SVF::ConstantDataSequential |
Definition at line 117 of file BasicTypes.h.
| typedef llvm::ConstantExpr SVF::ConstantExpr |
Definition at line 118 of file BasicTypes.h.
| typedef llvm::ConstantFP SVF::ConstantFP |
Definition at line 124 of file BasicTypes.h.
| typedef llvm::ConstantInt SVF::ConstantInt |
Definition at line 123 of file BasicTypes.h.
| typedef llvm::ConstantPointerNull SVF::ConstantPointerNull |
Definition at line 125 of file BasicTypes.h.
| typedef llvm::ConstantStruct SVF::ConstantStruct |
Definition at line 104 of file BasicTypes.h.
| typedef llvm::ConstrainedFPCmpIntrinsic SVF::ConstrainedFPCmpIntrinsic |
Definition at line 199 of file BasicTypes.h.
| typedef llvm::ConstrainedFPIntrinsic SVF::ConstrainedFPIntrinsic |
Definition at line 198 of file BasicTypes.h.
| typedef CopyVFGNode SVF::CopySVFGNode |
| typedef CxtStmtDPItem<SVFGNode> SVF::CxtLocDPItem |
Definition at line 50 of file ContextDDA.h.
| typedef CondStdSet<CxtVar> SVF::CxtPtSet |
| typedef CondVar< ContextCond > SVF::CxtVar |
| typedef llvm::DataLayout SVF::DataLayout |
Definition at line 106 of file BasicTypes.h.
| typedef llvm::DbgDeclareInst SVF::DbgDeclareInst |
Definition at line 193 of file BasicTypes.h.
| typedef llvm::DbgInfoIntrinsic SVF::DbgInfoIntrinsic |
Definition at line 191 of file BasicTypes.h.
| typedef llvm::DbgLabelInst SVF::DbgLabelInst |
Definition at line 196 of file BasicTypes.h.
| typedef llvm::DbgValueInst SVF::DbgValueInst |
Definition at line 195 of file BasicTypes.h.
| typedef llvm::DbgVariableIntrinsic SVF::DbgVariableIntrinsic |
Definition at line 192 of file BasicTypes.h.
| typedef llvm::DebugInfoFinder SVF::DebugInfoFinder |
Definition at line 242 of file BasicTypes.h.
| typedef llvm::DIBasicType SVF::DIBasicType |
Definition at line 244 of file BasicTypes.h.
| typedef llvm::DICompositeType SVF::DICompositeType |
Definition at line 240 of file BasicTypes.h.
| typedef llvm::DIDerivedType SVF::DIDerivedType |
Definition at line 241 of file BasicTypes.h.
| typedef llvm::DINode SVF::DINode |
Definition at line 246 of file BasicTypes.h.
| typedef llvm::DINodeArray SVF::DINodeArray |
Definition at line 247 of file BasicTypes.h.
| typedef llvm::DISubprogram SVF::DISubprogram |
Definition at line 111 of file BasicTypes.h.
| typedef llvm::DISubrange SVF::DISubrange |
Definition at line 245 of file BasicTypes.h.
| typedef llvm::DISubroutineType SVF::DISubroutineType |
Definition at line 243 of file BasicTypes.h.
| typedef llvm::DIType SVF::DIType |
Definition at line 239 of file BasicTypes.h.
| typedef llvm::DITypeRefArray SVF::DITypeRefArray |
Definition at line 248 of file BasicTypes.h.
| typedef llvm::DominanceFrontier SVF::DominanceFrontier |
Definition at line 136 of file BasicTypes.h.
| typedef llvm::DominanceFrontierBase<llvm::BasicBlock, false> SVF::DominanceFrontierBase |
Definition at line 138 of file BasicTypes.h.
| typedef llvm::DominatorTree SVF::DominatorTree |
LLVM Dominators.
Definition at line 134 of file BasicTypes.h.
| typedef llvm::DomTreeNode SVF::DomTreeNode |
Definition at line 135 of file BasicTypes.h.
| typedef llvm::DSOLocalEquivalent SVF::DSOLocalEquivalent |
Definition at line 127 of file BasicTypes.h.
| typedef u32_t SVF::EdgeID |
Definition at line 77 of file GeneralType.h.
| typedef NodeSet SVF::EdgeSet |
Definition at line 95 of file GeneralType.h.
| typedef std::vector<EdgeID> SVF::EdgeVector |
Definition at line 91 of file GeneralType.h.
| typedef llvm::ExtractElementInst SVF::ExtractElementInst |
Definition at line 162 of file BasicTypes.h.
| typedef llvm::ExtractValueInst SVF::ExtractValueInst |
Definition at line 161 of file BasicTypes.h.
| typedef llvm::FenceInst SVF::FenceInst |
Definition at line 169 of file BasicTypes.h.
| typedef llvm::FreezeInst SVF::FreezeInst |
Definition at line 170 of file BasicTypes.h.
| typedef llvm::Function SVF::Function |
Definition at line 83 of file BasicTypes.h.
| typedef llvm::FunctionCallee SVF::FunctionCallee |
Definition at line 271 of file BasicTypes.h.
| typedef llvm::FunctionType SVF::FunctionType |
Definition at line 96 of file BasicTypes.h.
| typedef llvm::GCProjectionInst SVF::GCProjectionInst |
Definition at line 233 of file BasicTypes.h.
| typedef llvm::GCRelocateInst SVF::GCRelocateInst |
Definition at line 234 of file BasicTypes.h.
| typedef llvm::GCResultInst SVF::GCResultInst |
Definition at line 235 of file BasicTypes.h.
| typedef llvm::GCStatepointInst SVF::GCStatepointInst |
Definition at line 232 of file BasicTypes.h.
Definition at line 44 of file BasicBlockG.h.
Definition at line 301 of file BasicBlockG.h.
Definition at line 69 of file BasicBlockG.h.
| typedef GenericEdge<CDGNode> SVF::GenericCDGEdgeTy |
| typedef GenericNode<CDGNode, CDGEdge> SVF::GenericCDGNodeTy |
| typedef GenericGraph<CDGNode, CDGEdge> SVF::GenericCDGTy |
| typedef GenericEdge<CFLNode> SVF::GenericCFLEdgeTy |
Definition at line 44 of file CFLGraph.h.
| typedef GenericGraph<CFLNode,CFLEdge> SVF::GenericCFLGraphTy |
Edge-labeled graph for CFL Reachability analysis.
Definition at line 171 of file CFLGraph.h.
| typedef GenericNode<CFLNode,CFLEdge> SVF::GenericCFLNodeTy |
Definition at line 74 of file CFLGraph.h.
| typedef GenericEdge<CHNode> SVF::GenericCHEdgeTy |
| typedef GenericGraph<CHNode, CHEdge> SVF::GenericCHGraphTy |
| typedef GenericNode<CHNode, CHEdge> SVF::GenericCHNodeTy |
Self-defined edge for constraint resolution including add/remove/re-target, but all the operations do not affect original SVFIR Edges
Definition at line 47 of file ConsGEdge.h.
Constraint node
Definition at line 39 of file ConsGNode.h.
| typedef GenericEdge<ICFGNode> SVF::GenericICFGEdgeTy |
Interprocedural control-flow and value-flow edge, representing the control- and value-flow dependence between two nodes
Definition at line 43 of file ICFGEdge.h.
| typedef GenericNode<ICFGNode, ICFGEdge> SVF::GenericICFGNodeTy |
Interprocedural control-flow graph node, representing different kinds of program statements including top-level pointers (ValVar) and address-taken objects (ObjVar)
Definition at line 53 of file ICFGNode.h.
| typedef GenericGraph<ICFGNode,ICFGEdge> SVF::GenericICFGTy |
| typedef GenericEdge<SVFVar> SVF::GenericPAGEdgeTy |
Definition at line 54 of file SVFStatements.h.
| typedef GenericNode<SVFVar, SVFStmt> SVF::GenericPAGNodeTy |
Definition at line 53 of file SVFVariables.h.
Definition at line 50 of file CallGraph.h.
Definition at line 175 of file CallGraph.h.
Pointer Analysis Call Graph used internally for various pointer analysis
Definition at line 234 of file CallGraph.h.
Definition at line 16 of file SparseObjGraph.h.
Definition at line 52 of file SparseObjGraph.h.
Definition at line 28 of file SparseObjGraph.h.
| typedef GenericEdge<TCTNode> SVF::GenericTCTEdgeTy |
| typedef GenericNode<TCTNode, TCTEdge> SVF::GenericTCTNodeTy |
| typedef GenericEdge<VFGNode> SVF::GenericVFGEdgeTy |
| typedef GenericNode<VFGNode,VFGEdge> SVF::GenericVFGNodeTy |
| typedef GenericGraph<VFGNode,VFGEdge> SVF::GenericVFGTy |
| typedef llvm::gep_type_iterator SVF::gep_type_iterator |
Definition at line 254 of file BasicTypes.h.
| typedef llvm::GEPOperator SVF::GEPOperator |
Definition at line 183 of file BasicTypes.h.
| typedef GepVFGNode SVF::GepSVFGNode |
| typedef llvm::GetElementPtrInst SVF::GetElementPtrInst |
Definition at line 163 of file BasicTypes.h.
| typedef llvm::GlobalAlias SVF::GlobalAlias |
Definition at line 129 of file BasicTypes.h.
| typedef llvm::GlobalIFunc SVF::GlobalIFunc |
Definition at line 130 of file BasicTypes.h.
| typedef llvm::GlobalObject SVF::GlobalObject |
Definition at line 73 of file BasicTypes.h.
| typedef llvm::GlobalValue SVF::GlobalValue |
Definition at line 86 of file BasicTypes.h.
| typedef llvm::GlobalVariable SVF::GlobalVariable |
Definition at line 131 of file BasicTypes.h.
| typedef WTOCycle<ICFG> SVF::ICFGCycleWTO |
| typedef WTONode<ICFG> SVF::ICFGSingletonWTO |
| typedef WTOComponent<ICFG> SVF::ICFGWTOComp |
| typedef llvm::InlineAsm SVF::InlineAsm |
Definition at line 126 of file BasicTypes.h.
| typedef llvm::InsertElementInst SVF::InsertElementInst |
Definition at line 172 of file BasicTypes.h.
| typedef llvm::InsertValueInst SVF::InsertValueInst |
Definition at line 168 of file BasicTypes.h.
| typedef llvm::inst_iterator SVF::inst_iterator |
Definition at line 252 of file BasicTypes.h.
| typedef llvm::InstrProfIncrementInst SVF::InstrProfIncrementInst |
Definition at line 227 of file BasicTypes.h.
| typedef llvm::InstrProfIncrementInstStep SVF::InstrProfIncrementInstStep |
Definition at line 228 of file BasicTypes.h.
| typedef llvm::InstrProfValueProfileInst SVF::InstrProfValueProfileInst |
Definition at line 229 of file BasicTypes.h.
| typedef llvm::Instruction SVF::Instruction |
Definition at line 85 of file BasicTypes.h.
| typedef llvm::IntegerType SVF::IntegerType |
Definition at line 95 of file BasicTypes.h.
| typedef InterPHIVFGNode SVF::InterPHISVFGNode |
| typedef IntraPHIVFGNode SVF::IntraPHISVFGNode |
| typedef llvm::IntrinsicInst SVF::IntrinsicInst |
Definition at line 190 of file BasicTypes.h.
| typedef llvm::IntToPtrInst SVF::IntToPtrInst |
Definition at line 167 of file BasicTypes.h.
| typedef llvm::InvokeInst SVF::InvokeInst |
Definition at line 164 of file BasicTypes.h.
| typedef llvm::IRBuilder SVF::IRBuilder |
Definition at line 76 of file BasicTypes.h.
| typedef GrammarBase::Symbol SVF::Label |
Definition at line 42 of file CFLSolver.h.
| typedef llvm::LandingPadInst SVF::LandingPadInst |
Definition at line 173 of file BasicTypes.h.
| typedef llvm::LLVMContext SVF::LLVMContext |
Definition at line 72 of file BasicTypes.h.
| typedef llvm::LoadInst SVF::LoadInst |
Definition at line 150 of file BasicTypes.h.
| typedef LoadVFGNode SVF::LoadSVFGNode |
| typedef StmtDPItem<SVFGNode> SVF::LocDPItem |
| typedef llvm::Loop SVF::Loop |
LLVM Loop.
Definition at line 141 of file BasicTypes.h.
| typedef llvm::LoopInfo SVF::LoopInfo |
Definition at line 142 of file BasicTypes.h.
| using SVF::Map = std::unordered_map<Key, Value, Hash, KeyEqual, Allocator> |
Definition at line 56 of file GeneralType.h.
| typedef llvm::MDNode SVF::MDNode |
Definition at line 110 of file BasicTypes.h.
| typedef llvm::MDString SVF::MDString |
Definition at line 99 of file BasicTypes.h.
| typedef llvm::MemCpyInlineInst SVF::MemCpyInlineInst |
Definition at line 217 of file BasicTypes.h.
| typedef llvm::MemCpyInst SVF::MemCpyInst |
Definition at line 214 of file BasicTypes.h.
| typedef llvm::MemIntrinsic SVF::MemIntrinsic |
Definition at line 211 of file BasicTypes.h.
| typedef llvm::MemMoveInst SVF::MemMoveInst |
Definition at line 215 of file BasicTypes.h.
| typedef llvm::MemoryLocation SVF::MemoryLocation |
Definition at line 105 of file BasicTypes.h.
| typedef llvm::MemSetInst SVF::MemSetInst |
Definition at line 212 of file BasicTypes.h.
| typedef llvm::MemTransferInst SVF::MemTransferInst |
Definition at line 213 of file BasicTypes.h.
| typedef llvm::MetadataAsValue SVF::MetadataAsValue |
Definition at line 100 of file BasicTypes.h.
| typedef llvm::MinMaxIntrinsic SVF::MinMaxIntrinsic |
Definition at line 200 of file BasicTypes.h.
| typedef llvm::Module SVF::Module |
Definition at line 82 of file BasicTypes.h.
| typedef llvm::ModulePass SVF::ModulePass |
Definition at line 75 of file BasicTypes.h.
Definition at line 54 of file MemRegion.h.
| typedef NodeID SVF::MRVERID |
Definition at line 55 of file MemRegion.h.
| typedef NodeID SVF::MRVERSION |
Definition at line 56 of file MemRegion.h.
| typedef llvm::NamedMDNode SVF::NamedMDNode |
LLVM metadata and debug information.
Definition at line 109 of file BasicTypes.h.
| typedef llvm::NoAliasScopeDeclInst SVF::NoAliasScopeDeclInst |
Definition at line 231 of file BasicTypes.h.
| typedef llvm::NoCFIValue SVF::NoCFIValue |
Definition at line 128 of file BasicTypes.h.
| typedef SparseBitVector SVF::NodeBS |
Definition at line 82 of file GeneralType.h.
| typedef std::deque<NodeID> SVF::NodeDeque |
Definition at line 94 of file GeneralType.h.
| typedef u32_t SVF::NodeID |
Definition at line 76 of file GeneralType.h.
| typedef std::list<NodeID> SVF::NodeList |
Definition at line 93 of file GeneralType.h.
| typedef std::pair<NodeID, NodeID> SVF::NodePair |
Definition at line 85 of file GeneralType.h.
| typedef Map<NodePair, NodeID> SVF::NodePairMap |
Definition at line 89 of file GeneralType.h.
| typedef Set<NodePair> SVF::NodePairSet |
Definition at line 88 of file GeneralType.h.
| typedef std::vector<std::pair<NodeID, NodeID> > SVF::NodePairVector |
| typedef Set<NodeID> SVF::NodeSet |
Definition at line 87 of file GeneralType.h.
| typedef std::stack<NodeID> SVF::NodeStack |
Definition at line 92 of file GeneralType.h.
| typedef std::vector<NodeID> SVF::NodeVector |
Definition at line 90 of file GeneralType.h.
| typedef NullPtrVFGNode SVF::NullPtrSVFGNode |
| using SVF::OrderedMap = std::map<Key, Value, Compare, Allocator> |
Definition at line 64 of file GeneralType.h.
| typedef OrderedSet<NodeID> SVF::OrderedNodeSet |
Definition at line 86 of file GeneralType.h.
| using SVF::OrderedSet = std::set<Key, Compare, Allocator> |
Definition at line 60 of file GeneralType.h.
| typedef std::ostream SVF::OutStream |
Definition at line 66 of file GeneralType.h.
| typedef SVFStmt SVF::PAGEdge |
| typedef SVFVar SVF::PAGNode |
| typedef llvm::PHINode SVF::PHINode |
Definition at line 166 of file BasicTypes.h.
| typedef PHIVFGNode SVF::PHISVFGNode |
| typedef llvm::PointerType SVF::PointerType |
Definition at line 94 of file BasicTypes.h.
| typedef unsigned SVF::PointsToID |
Definition at line 83 of file GeneralType.h.
| typedef llvm::PostDominatorTree SVF::PostDominatorTree |
Definition at line 137 of file BasicTypes.h.
| typedef llvm::PseudoProbeInst SVF::PseudoProbeInst |
Definition at line 230 of file BasicTypes.h.
| typedef llvm::raw_fd_ostream SVF::raw_fd_ostream |
LLVM outputs.
Definition at line 267 of file BasicTypes.h.
| using SVF::raw_pointer_iterator |
Definition at line 402 of file iterator.h.
| typedef llvm::ResumeInst SVF::ResumeInst |
Definition at line 174 of file BasicTypes.h.
| typedef llvm::ReturnInst SVF::ReturnInst |
Definition at line 158 of file BasicTypes.h.
| typedef signed short SVF::s16_t |
Definition at line 74 of file GeneralType.h.
| typedef signed SVF::s32_t |
Definition at line 68 of file GeneralType.h.
| typedef signed long long SVF::s64_t |
Definition at line 70 of file GeneralType.h.
| typedef signed char SVF::s8_t |
Definition at line 72 of file GeneralType.h.
| typedef llvm::SaturatingInst SVF::SaturatingInst |
Definition at line 203 of file BasicTypes.h.
| typedef llvm::ScalarEvolution SVF::ScalarEvolution |
Definition at line 263 of file BasicTypes.h.
| typedef llvm::ScalarEvolutionWrapperPass SVF::ScalarEvolutionWrapperPass |
Definition at line 260 of file BasicTypes.h.
| typedef llvm::SCEV SVF::SCEV |
Definition at line 264 of file BasicTypes.h.
| typedef llvm::SCEVAddRecExpr SVF::SCEVAddRecExpr |
Definition at line 261 of file BasicTypes.h.
| typedef llvm::SCEVConstant SVF::SCEVConstant |
Definition at line 262 of file BasicTypes.h.
| typedef llvm::SelectInst SVF::SelectInst |
Definition at line 175 of file BasicTypes.h.
| using SVF::Set = std::unordered_set<Key, Hash, KeyEqual, Allocator> |
Definition at line 51 of file GeneralType.h.
| typedef llvm::ShuffleVectorInst SVF::ShuffleVectorInst |
Definition at line 165 of file BasicTypes.h.
Definition at line 655 of file SlicedGraphs.h.
Definition at line 413 of file SlicedGraphs.h.
Definition at line 857 of file SlicedGraphs.h.
Definition at line 1056 of file SlicedGraphs.h.
| typedef llvm::SMDiagnostic SVF::SMDiagnostic |
Definition at line 88 of file BasicTypes.h.
| typedef StmtVFGNode SVF::StmtSVFGNode |
| typedef llvm::StoreInst SVF::StoreInst |
Definition at line 149 of file BasicTypes.h.
| typedef StoreVFGNode SVF::StoreSVFGNode |
| typedef llvm::StructLayout SVF::StructLayout |
Definition at line 103 of file BasicTypes.h.
| typedef llvm::StructType SVF::StructType |
LLVM types.
Definition at line 92 of file BasicTypes.h.
| typedef llvm::const_succ_iterator SVF::succ_const_iterator |
LLVM Iterators.
Definition at line 274 of file BasicTypes.h.
| typedef std::pair<const BasicBlock*, const ConstantInt*> SVF::SuccBBAndCondValPair |
Definition at line 186 of file BasicTypes.h.
| typedef std::vector<SuccBBAndCondValPair> SVF::SuccBBAndCondValPairVec |
Definition at line 187 of file BasicTypes.h.
| typedef VFGEdge SVF::SVFGEdge |
| typedef VFGNode SVF::SVFGNode |
| typedef llvm::SwitchInst SVF::SwitchInst |
Definition at line 156 of file BasicTypes.h.
| typedef unsigned SVF::ThreadID |
Definition at line 79 of file GeneralType.h.
| typedef llvm::Type SVF::Type |
Definition at line 81 of file BasicTypes.h.
| typedef unsigned short SVF::u16_t |
Definition at line 73 of file GeneralType.h.
| typedef unsigned SVF::u32_t |
Definition at line 67 of file GeneralType.h.
| typedef unsigned long long SVF::u64_t |
Definition at line 69 of file GeneralType.h.
| typedef unsigned char SVF::u8_t |
Definition at line 71 of file GeneralType.h.
| typedef llvm::UnaryOperator SVF::UnaryOperator |
Definition at line 181 of file BasicTypes.h.
| typedef llvm::UndefValue SVF::UndefValue |
Definition at line 182 of file BasicTypes.h.
| typedef llvm::UnifyFunctionExitNodesPass SVF::UnifyFunctionExitNodes |
Definition at line 77 of file BasicTypes.h.
| typedef llvm::UnreachableInst SVF::UnreachableInst |
Definition at line 171 of file BasicTypes.h.
| typedef llvm::Use SVF::Use |
Definition at line 74 of file BasicTypes.h.
| typedef llvm::User SVF::User |
Definition at line 143 of file BasicTypes.h.
| typedef llvm::VAArgInst SVF::VAArgInst |
Definition at line 176 of file BasicTypes.h.
| typedef llvm::VACopyInst SVF::VACopyInst |
Definition at line 177 of file BasicTypes.h.
| typedef llvm::VAEndInst SVF::VAEndInst |
Definition at line 178 of file BasicTypes.h.
| typedef llvm::Value SVF::Value |
LLVM Basic classes.
Definition at line 80 of file BasicTypes.h.
| typedef llvm::VAStartInst SVF::VAStartInst |
Definition at line 179 of file BasicTypes.h.
| typedef llvm::VectorType SVF::VectorType |
Definition at line 270 of file BasicTypes.h.
| typedef unsigned SVF::Version |
Definition at line 97 of file GeneralType.h.
| typedef std::pair<NodeID, Version> SVF::VersionedVar |
Definition at line 99 of file GeneralType.h.
| typedef Set<VersionedVar> SVF::VersionedVarSet |
Definition at line 100 of file GeneralType.h.
| typedef Set<Version> SVF::VersionSet |
Definition at line 98 of file GeneralType.h.
| typedef Set<const FunObjVar*> SVF::VFunSet |
| typedef llvm::VPIntrinsic SVF::VPIntrinsic |
Definition at line 197 of file BasicTypes.h.
| typedef Set<const GlobalObjVar*> SVF::VTableSet |
| typedef llvm::WithOverflowInst SVF::WithOverflowInst |
Definition at line 202 of file BasicTypes.h.
| typedef WPASolver< ConstraintGraph * > SVF::WPAConstraintSolver |
Abstract class of inclusion-based Pointer Analysis
Equivalence-based Pointer Analysis
Definition at line 58 of file Andersen.h.
| typedef WPAFSSolver<SVFG*> SVF::WPASVFGFSSolver |
Flow sensitive whole program pointer analysis
Definition at line 46 of file FlowSensitive.h.
| enum SVF::AliasResult |
|
strong |
| Enumerator | |
|---|---|
| plain | |
| bidirection | |
Definition at line 41 of file CFLGraphBuilder.h.
| enum SVF::ModRefInfo |
| enum SVF::PTAImplTy |
Implementation type: BVDataPTAImpl or CondPTAImpl.
| Enumerator | |
|---|---|
| BaseImpl | Represents PointerAnalaysis. |
| BVDataImpl | Represents BVDataPTAImpl. |
| CondImpl | Represents CondPTAImpl. |
| enum SVF::PTATY |
Pointer analysis type list.
| Enumerator | |
|---|---|
| Andersen_BASE | Base Andersen PTA. |
| Andersen_WPA | Andersen PTA. |
| AndersenSCD_WPA | Selective cycle detection andersen-style WPA. |
| AndersenSFR_WPA | Stride-based field representation. |
| AndersenWaveDiff_WPA | Diff wave propagation andersen-style WPA. |
| Steensgaard_WPA | Steensgaard PTA. |
| CSCallString_WPA | Call string based context sensitive WPA. |
| CSSummary_WPA | Summary based context sensitive WPA. |
| FSDATAFLOW_WPA | Traditional Dataflow-based flow sensitive WPA. |
| FSSPARSE_WPA | Sparse flow sensitive WPA. |
| VFS_WPA | Versioned sparse flow-sensitive WPA. |
| FSCS_WPA | Flow-, context- sensitive WPA. |
| CFLFICI_WPA | Flow-, context-, insensitive CFL-reachability-based analysis. |
| CFLFSCI_WPA | Flow-insensitive, context-sensitive CFL-reachability-based analysis. |
| CFLFSCS_WPA | Flow-, context-, CFL-reachability-based analysis. |
| TypeCPP_WPA | Type-based analysis for C++. |
| FieldS_DDA | Field sensitive DDA. |
| FlowS_DDA | Flow sensitive DDA. |
| PathS_DDA | Guarded value-flow DDA. |
| Cxt_DDA | context sensitive DDA |
| Default_PTA | default pta without any analysis |
Definition at line 8 of file PTATY.h.
| enum SVF::PTBackingType |
How the PTData used is implemented.
| Enumerator | |
|---|---|
| Mutable | |
| Persistent | |
|
strong |
C++ ABI inferred from the target triple.
| Enumerator | |
|---|---|
| Itanium | |
| MSVC | |
Definition at line 45 of file LLVMUtil.h.
| enum SVF::ZeroBehavior |
The behavior an operation has on an input of 0.
| Enumerator | |
|---|---|
| ZB_Undefined | The returned value is undefined. |
| ZB_Max | The returned value is numeric_limits<T>::max(). |
| ZB_Width | The returned value is numeric_limits<T>::digits. |
Definition at line 38 of file SparseBitVector.h.
| iter_range< typename GenericGraphTraits< GraphType >::ChildIteratorType > SVF::children | ( | const typename GenericGraphTraits< GraphType >::NodeRef & | G | ) |
Definition at line 126 of file GraphTraits.h.
| iter_range< typename GenericGraphTraits< GraphType >::ChildEdgeIteratorType > SVF::children_edges | ( | const typename GenericGraphTraits< GraphType >::NodeRef & | G | ) |
Definition at line 142 of file GraphTraits.h.
| unsigned SVF::countLeadingZeros | ( | T | Val, |
| ZeroBehavior | ZB = ZB_Width ) |
Count number of 0's from the most significant bit to the least stopping at the first 1.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 213 of file SparseBitVector.h.
|
inline |
Count the number of set bits in a value. Ex. countPopulation(0xF000F000) = 8 Returns 0 if the word is zero.
Definition at line 241 of file SparseBitVector.h.
| unsigned SVF::countTrailingZeros | ( | T | Val, |
| ZeroBehavior | ZB = ZB_Width ) |
Count number of 0's from the least significant bit to the most stopping at the first 1.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 121 of file SparseBitVector.h.
| void SVF::dump | ( | const SparseBitVector< ElementSize > & | LHS, |
| std::ostream & | out ) |
Definition at line 1235 of file SparseBitVector.h.
| iter_range< typename GenericGraphTraits< Inverse< GraphType > >::ChildIteratorType > SVF::inverse_children | ( | const typename GenericGraphTraits< GraphType >::NodeRef & | G | ) |
Definition at line 134 of file GraphTraits.h.
| iter_range< typename GenericGraphTraits< Inverse< GraphType > >::nodes_iterator > SVF::inverse_nodes | ( | const GraphType & | G | ) |
Definition at line 118 of file GraphTraits.h.
|
inline |
| iter_range< pointee_iter< WrappedIteratorT > > SVF::make_pointee_range | ( | RangeT && | Range | ) |
Definition at line 355 of file iterator.h.
| iter_range< pointer_iterator< WrappedIteratorT > > SVF::make_pointer_range | ( | RangeT && | Range | ) |
Definition at line 391 of file iterator.h.
| iter_range< T > SVF::make_range | ( | std::pair< T, T > | p | ) |
Definition at line 69 of file iterator_range.h.
| iter_range< T > SVF::make_range | ( | T | x, |
| T | y ) |
Convenience function for iterating over sub-ranges.
This provides a bit of syntactic sugar to make using sub-ranges in for loops a bit easier. Analogous to std::make_pair().
Definition at line 64 of file iterator_range.h.
|
inline |
Definition at line 492 of file GenericGraph.h.
| iter_range< typename GenericGraphTraits< GraphType >::nodes_iterator > SVF::nodes | ( | const GraphType & | G | ) |
Definition at line 111 of file GraphTraits.h.
|
inline |
Divide IntervalValues.
Definition at line 645 of file IntervalValue.h.
|
inline |
Bitwise AND of IntervalValues.
Definition at line 949 of file IntervalValue.h.
Returns a new lhs & rhs.
Definition at line 585 of file PointsTo.cpp.
|
inline |
Definition at line 1215 of file SparseBitVector.h.
|
inline |
Definition at line 1195 of file SparseBitVector.h.
|
inline |
Definition at line 1188 of file SparseBitVector.h.
|
inline |
Multiply IntervalValues.
Definition at line 583 of file IntervalValue.h.
|
inline |
Add IntervalValues.
Definition at line 547 of file IntervalValue.h.
|
inline |
Subtract IntervalValues.
Definition at line 565 of file IntervalValue.h.
Returns a new lhs - rhs.
Definition at line 593 of file PointsTo.cpp.
|
inline |
Definition at line 1225 of file SparseBitVector.h.
|
inline |
Divide IntervalValues.
Definition at line 603 of file IntervalValue.h.
|
inline |
Definition at line 736 of file IntervalValue.h.
|
inline |
Left binary shift of IntervalValues.
Definition at line 888 of file IntervalValue.h.
| OutStream & SVF::operator<< | ( | OutStream & | o, |
| const std::pair< F, S > & | var ) |
Definition at line 331 of file SVFValue.h.
|
inline |
Write an IntervalValue on a stream.
Definition at line 1034 of file IntervalValue.h.
| std::ostream & SVF::operator<< | ( | std::ostream & | o, |
| const MRVer & | mrver ) |
Definition at line 812 of file MemRegion.cpp.
| std::ostream & SVF::operator<< | ( | std::ostream & | os, |
| const SVFType & | type ) |
Definition at line 17 of file SVFType.cpp.
|
inline |
Definition at line 838 of file IntervalValue.h.
|
inline |
Definition at line 685 of file IntervalValue.h.
|
inline |
Definition at line 788 of file IntervalValue.h.
|
inline |
Left binary shift of IntervalValues.
Definition at line 914 of file IntervalValue.h.
|
inline |
Bitwise XOR of IntervalValues.
Definition at line 1005 of file IntervalValue.h.
|
inline |
Bitwise OR of IntervalValues.
Definition at line 976 of file IntervalValue.h.
Returns a new lhs | rhs.
Definition at line 577 of file PointsTo.cpp.
|
inline |
Definition at line 1205 of file SparseBitVector.h.
|
inline |
Definition at line 1174 of file SparseBitVector.h.
|
inline |
Definition at line 1181 of file SparseBitVector.h.
| void SVF::ViewGraph | ( | const GraphType & | G, |
| const std::string & | name, | ||
| bool | ShortNames = false, | ||
| GraphProgram::Name | Program = GraphProgram::DOT ) |
ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup. For use from the debugger.
Definition at line 377 of file GraphWriter.h.
| std::string SVF::WriteGraph | ( | const GraphType & | G, |
| bool | ShortNames = false, | ||
| std::string | Filename = "" ) |
Writes graph into a provided Filename. If Filename is empty, generates a random one.
Definition at line 351 of file GraphWriter.h.
| std::ofstream & SVF::WriteGraph | ( | std::ofstream & | O, |
| const GraphType & | G, | ||
| bool | ShortNames = false ) |
Definition at line 334 of file GraphWriter.h.