svf-tools 1.0.402 → 1.0.405
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8h_source.html +5 -6
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +2 -2
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +48 -48
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +63 -63
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +6 -6
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_f.html +2 -2
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +9 -9
- package/SVF-doxygen/html/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_func_v.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +9 -9
- package/SVF-doxygen/html/html/functions_i.html +1 -1
- package/SVF-doxygen/html/html/functions_l.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +3 -3
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_v.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +5 -5
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
- package/SVF-doxygen/html/html/namespacemembers_s.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +3 -3
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +5 -5
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +5 -5
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_a.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +2 -2
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/ICFGEdge.h +3 -3
- package/include/MemoryModel/LocationSet.h +5 -5
- package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
- package/include/MemoryModel/SVFIR.h +1 -1
- package/include/MemoryModel/SVFStatements.h +4 -4
- package/include/MemoryModel/SVFVariables.h +2 -2
- package/include/MemoryModel/SymbolTableInfo.h +1 -1
- package/include/SVF-FE/SVFIRBuilder.h +2 -2
- package/include/Util/IRAnnotator.h +2 -2
- package/include/Util/SVFBasicTypes.h +1 -1
- package/include/WPA/AndersenSFR.h +1 -1
- package/include/WPA/CSC.h +1 -1
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/MTA/MHP.cpp +2 -2
- package/lib/MemoryModel/LocationSet.cpp +3 -3
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +2 -2
- package/lib/MemoryModel/SVFIR.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +3 -3
- package/lib/SVF-FE/CPPUtil.cpp +6 -6
- package/lib/SVF-FE/ICFGBuilder.cpp +1 -1
- package/lib/SVF-FE/LLVMUtil.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +17 -10
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
- package/lib/Util/Conditions.cpp +1 -1
- package/lib/Util/ExtAPI.cpp +13 -0
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/AndersenSFR.cpp +6 -6
- package/lib/WPA/CSC.cpp +5 -5
- package/lib/WPA/TypeAnalysis.cpp +3 -3
- package/package.json +1 -1
|
@@ -280,7 +280,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
280
280
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
281
281
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
282
282
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
283
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
283
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
284
284
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
285
285
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
286
286
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -100,7 +100,7 @@ $(function() {
|
|
|
100
100
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html#ae80d95a4d90ca64eca819e140445004c">GepObjVar</a>(const MemObj *mem, NodeID i, const LocationSet &l, PNODEK ty=GepObjNode)</td><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html">SVF::GepObjVar</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
101
101
|
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa288e3f5d01c94d5c5d685d43f08a6c4a">GepValNode</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></td><td class="entry"></td></tr>
|
|
102
102
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html#a4c5e346db61f7e04c15bf8527d8eff3c">getBaseNode</a>(void) const</td><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html">SVF::GepObjVar</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
103
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html#
|
|
103
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html#aaf2ab86c43e4f33183289f9bdead36c1">getConstantFieldIdx</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GepObjVar.html">SVF::GepObjVar</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
104
104
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
105
105
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
106
106
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">getIncomingEdges</a>(SVFStmt::PEDGEK kind)</td><td class="entry"><a class="el" href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
@@ -101,9 +101,9 @@ Public Member Functions</h2></td></tr>
|
|
|
101
101
|
<tr class="memitem:a553e648804b39c503e7288dd0434c339 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GepObjVar.html#a553e648804b39c503e7288dd0434c339">getLocationSet</a> () const</td></tr>
|
|
102
102
|
<tr class="memdesc:a553e648804b39c503e7288dd0434c339 inherit pub_methods_classSVF_1_1GepObjVar"><td class="mdescLeft"> </td><td class="mdescRight">offset of the mem object <a href="classSVF_1_1GepObjVar.html#a553e648804b39c503e7288dd0434c339">More...</a><br /></td></tr>
|
|
103
103
|
<tr class="separator:a553e648804b39c503e7288dd0434c339 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memSeparator" colspan="2"> </td></tr>
|
|
104
|
-
<tr class="memitem:
|
|
105
|
-
<tr class="memdesc:
|
|
106
|
-
<tr class="separator:
|
|
104
|
+
<tr class="memitem:aaf2ab86c43e4f33183289f9bdead36c1 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GepObjVar.html#aaf2ab86c43e4f33183289f9bdead36c1">getConstantFieldIdx</a> () const</td></tr>
|
|
105
|
+
<tr class="memdesc:aaf2ab86c43e4f33183289f9bdead36c1 inherit pub_methods_classSVF_1_1GepObjVar"><td class="mdescLeft"> </td><td class="mdescRight">offset of the mem object <a href="classSVF_1_1GepObjVar.html#aaf2ab86c43e4f33183289f9bdead36c1">More...</a><br /></td></tr>
|
|
106
|
+
<tr class="separator:aaf2ab86c43e4f33183289f9bdead36c1 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
107
|
<tr class="memitem:a5e371fae7592d763661a7cb777107ff4 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GepObjVar.html#a5e371fae7592d763661a7cb777107ff4">setBaseNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="el" href="classSVF_1_1GepObjVar.html#aff50e1d96403eeacaa64f7adb07ce0a5">base</a>)</td></tr>
|
|
108
108
|
<tr class="memdesc:a5e371fae7592d763661a7cb777107ff4 inherit pub_methods_classSVF_1_1GepObjVar"><td class="mdescLeft"> </td><td class="mdescRight">Set the base object from which this GEP node came from. <a href="classSVF_1_1GepObjVar.html#a5e371fae7592d763661a7cb777107ff4">More...</a><br /></td></tr>
|
|
109
109
|
<tr class="separator:a5e371fae7592d763661a7cb777107ff4 inherit pub_methods_classSVF_1_1GepObjVar"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -292,7 +292,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
292
292
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
293
293
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
294
294
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
295
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
295
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
296
296
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
297
297
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
298
298
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -256,7 +256,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
256
256
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
257
257
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
258
258
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
259
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
259
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
260
260
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
261
261
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
262
262
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -139,7 +139,7 @@ Public Types</h2></td></tr>
|
|
|
139
139
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
140
140
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
141
141
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
142
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
142
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
143
143
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
144
144
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
145
145
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -946,9 +946,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
946
946
|
<p>Print the expressions in this model </p>
|
|
947
947
|
|
|
948
948
|
<p class="definition">Definition at line <a class="el" href="Conditions_8cpp_source.html#l00179">179</a> of file <a class="el" href="Conditions_8cpp_source.html">Conditions.cpp</a>.</p>
|
|
949
|
-
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <a class="code" href="classSVF_1_1CondManager.html#a771bda4bb55dd8c95a03f1a74a215126">sol</a>.check() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  z3::model m = <a class="code" href="classSVF_1_1CondManager.html#a771bda4bb55dd8c95a03f1a74a215126">sol</a>.get_model();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < m.size(); i++)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  z3::func_decl v = m[
|
|
949
|
+
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <a class="code" href="classSVF_1_1CondManager.html#a771bda4bb55dd8c95a03f1a74a215126">sol</a>.check() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  z3::model m = <a class="code" href="classSVF_1_1CondManager.html#a771bda4bb55dd8c95a03f1a74a215126">sol</a>.get_model();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < m.size(); i++)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  z3::func_decl v = m[i];</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << v.name() << <span class="stringliteral">" = "</span> << m.get_const_interp(v) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div><div class="ttc" id="classSVF_1_1CondManager_html_a771bda4bb55dd8c95a03f1a74a215126"><div class="ttname"><a href="classSVF_1_1CondManager.html#a771bda4bb55dd8c95a03f1a74a215126">SVF::CondManager::sol</a></div><div class="ttdeci">z3::solver sol</div><div class="ttdef"><b>Definition:</b> <a href="Conditions_8h_source.html#l00303">Conditions.h:303</a></div></div>
|
|
950
950
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00077">SVFBasicTypes.h:77</a></div></div>
|
|
951
|
-
<div class="ttc" id="namespaceSVF_html_abe09d99af006554a5c00803e9a89f9a6"><div class="ttname"><a href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a></div><div class="ttdeci">signed s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00080">SVFBasicTypes.h:80</a></div></div>
|
|
952
951
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
953
952
|
</div><!-- fragment -->
|
|
954
953
|
</div>
|
|
@@ -113,7 +113,7 @@ Public Types</h2></td></tr>
|
|
|
113
113
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
114
114
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
115
115
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
116
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
116
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
117
117
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
118
118
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
119
119
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -101,7 +101,7 @@ Public Types</h2></td></tr>
|
|
|
101
101
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
102
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
103
103
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
104
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
104
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
105
105
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
106
106
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
107
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">EdgeType::equalGEdge</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -169,7 +169,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
169
169
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
170
170
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
171
171
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
172
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
172
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
173
173
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
174
174
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
175
175
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -233,7 +233,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
233
233
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
234
234
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
235
235
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
236
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
236
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
237
237
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
238
238
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
239
239
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -282,7 +282,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
282
282
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
283
283
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
284
284
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
285
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
285
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
286
286
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
287
287
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
288
288
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -99,7 +99,7 @@ Public Types</h2></td></tr>
|
|
|
99
99
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
100
100
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
101
101
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
102
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
103
103
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
104
104
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
105
105
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -98,7 +98,7 @@ Public Types</h2></td></tr>
|
|
|
98
98
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
99
99
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1DCHEdge.html">DCHEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
100
100
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
101
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
101
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
102
102
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
103
103
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
104
104
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename <a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">EdgeType::equalGEdge</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -183,7 +183,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
183
183
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
184
184
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
185
185
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
186
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
186
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
187
187
|
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
188
188
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
189
189
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
@@ -268,7 +268,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
268
268
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
269
269
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
270
270
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
271
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
271
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
272
272
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
273
273
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
274
274
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -267,7 +267,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
267
267
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
268
268
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
269
269
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
270
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
270
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
271
271
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
272
272
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
273
273
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -250,7 +250,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
250
250
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
251
251
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
252
252
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
253
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
253
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
254
254
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
255
255
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
256
256
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -300,7 +300,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
300
300
|
|
|
301
301
|
<p class="definition">Definition at line <a class="el" href="ExtAPI_8h_source.html#l00103">103</a> of file <a class="el" href="ExtAPI_8h_source.html">ExtAPI.h</a>.</p>
|
|
302
302
|
<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">init</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classSVF_1_1ExtAPI.html#a329882c608e9a6b10a758bcd1ca7a0b5">isext_cache</a>.clear();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="ttc" id="classSVF_1_1ExtAPI_html_a329882c608e9a6b10a758bcd1ca7a0b5"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a329882c608e9a6b10a758bcd1ca7a0b5">SVF::ExtAPI::isext_cache</a></div><div class="ttdeci">Map< const SVFFunction *, bool > isext_cache</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00099">ExtAPI.h:99</a></div></div>
|
|
303
|
-
<div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#
|
|
303
|
+
<div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00863">ExtAPI.cpp:863</a></div></div>
|
|
304
304
|
</div><!-- fragment -->
|
|
305
305
|
</div>
|
|
306
306
|
</div>
|
|
@@ -516,8 +516,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
516
516
|
</table>
|
|
517
517
|
</div><div class="memdoc">
|
|
518
518
|
|
|
519
|
-
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#
|
|
520
|
-
<div class="fragment"><div class="line"><a name="
|
|
519
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00863">863</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
520
|
+
<div class="fragment"><div class="line"><a name="l00864"></a><span class="lineno"> 864</span> {</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  set<extf_t> t_seen;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">extf_t</a> prev_t= <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  t_seen.insert(<a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> ei_pair *p= <a class="code" href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a>; p->n; ++p)</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keywordflow">if</span>(p->t != prev_t)</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  {</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="comment">//This will detect if you move an entry to another block</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="comment">// but forget to change the type.</span></div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="keywordflow">if</span>(t_seen.count(p->t))</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  {</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  fputs(p->n, stderr);</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  putc(<span class="charliteral">'\n'</span>, stderr);</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">"ei_pairs not grouped by type"</span>);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  }</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  t_seen.insert(p->t);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  prev_t= p->t;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  }</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>.count(p->n))</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  {</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  fputs(p->n, stderr);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  putc(<span class="charliteral">'\n'</span>, stderr);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">"duplicate name in ei_pairs"</span>);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  }</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>[p->n]= p->t;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span> }</div><div class="ttc" id="ExtAPI_8cpp_html_aa5c38361a7f02befa83ea45388056ea1"><div class="ttname"><a href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a></div><div class="ttdeci">static const ei_pair ei_pairs[]</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00030">ExtAPI.cpp:30</a></div></div>
|
|
521
521
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
522
522
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">SVF::ExtAPI::EFT_NOOP</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00052">ExtAPI.h:52</a></div></div>
|
|
523
523
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">SVF::ExtAPI::extf_t</a></div><div class="ttdeci">extf_t</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00050">ExtAPI.h:50</a></div></div>
|
|
@@ -269,7 +269,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
269
269
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
270
270
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
271
271
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
272
|
-
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#
|
|
272
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
273
273
|
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
274
274
|
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
275
275
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
@@ -1638,7 +1638,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1638
1638
|
<p>Reimplemented from <a class="el" href="classSVF_1_1FlowSensitive.html#ae017c39ac471727d06868e0eacafd791">SVF::FlowSensitive</a>.</p>
|
|
1639
1639
|
|
|
1640
1640
|
<p class="definition">Definition at line <a class="el" href="FlowSensitiveTBHC_8cpp_source.html#l00269">269</a> of file <a class="el" href="FlowSensitiveTBHC_8cpp_source.html">FlowSensitiveTBHC.cpp</a>.</p>
|
|
1641
|
-
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="comment">// Copy of that in FlowSensitive.cpp + some changes.</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> q = gep->getPAGSrcNodeID();</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *tildet = <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">getTypeFromCTirMetadata</a>(gep);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">if</span> (tildet != <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">undefType</a>)</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordtype">bool</span> reuse = <a class="code" href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">Options::TBHCAllReuse</a> || (<a class="code" href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">Options::TBHCStoreReuse</a> && !<a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#ad5b294dacf51a89306df9a22c6799bad">gepIsLoad</a>(gep->getId()));</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  changed = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a34064efe336ada815b31050f683c7ce1">init</a>(gep->getId(), q, tildet, reuse, <span class="keyword">true</span>);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">if</span> (!gep->getPAGEdge()->isPTAEdge())</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& qPts = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(q);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &filterSet = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#ae520e0551e63223a908f92a6b9667356">getFilterSet</a>(gep->getId());</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpDstPts;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> oq : qPts)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span> (filterSet.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(oq)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f">TypeBasedHeapCloning::isBlkObjOrConstantObj</a>(oq))</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  tmpDstPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(oq);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gepStmt = SVFUtil::cast<GepStmt>(gep->getPAGEdge());</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">if</span> (gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#a0ddf180a0f7ba64fc8655687910e3788">isVariantFieldGep</a>())</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(oq);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  tmpDstPts.set(oq);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *t = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de">getType</a>(oq);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">if</span> (t && (t->getTag() == dwarf::DW_TAG_array_type || t->getTag() == dwarf::DW_TAG_pointer_type))</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> fieldClones = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa175b5db473eb57c03b6f908791d1133">getGepObjClones</a>(oq, 1);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fc : fieldClones)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#acd6ade2b73c19d1eb7faf0e457becba6">gepToSVFGRetrievers</a>[<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aeea7089c6f54b44f0509d41686b649f6">getOriginalObj</a>(fc)].set(gep->getId());</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  tmpDstPts.set(fc);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *baseType = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de">getType</a>(oq);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="comment">// Drop down to field insensitive.</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> (baseType == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(oq);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fiObj = oq;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  tmpDstPts.set(fiObj);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DCHGraph.html#a9d2be5aec5216cbc1d1709b41f79c44b">DCHGraph::isAgg</a>(baseType) && baseType->getTag() != dwarf::DW_TAG_array_type</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  && gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">getConstantFieldIdx</a>() >= <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a465e67781977e83526df7e36d576e539">dchg</a>-><a class="code" href="classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e">getNumFields</a>(baseType))</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="comment">// If the field offset is too high for this object, it is killed. It seems that a</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="comment">// clone was made on this GEP but this is not the base (e.g. base->f1->f2), and SVF</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="comment">// expects to operate on the base (hence the large offset). The base will have been</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="comment">// cloned at another GEP and back-propagated, thus it'll reach here safe and sound.</span></div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="comment">// We ignore arrays/pointers because those are array accesses/pointer arithmetic we</span></div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="comment">// assume are correct.</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">// Obviously, non-aggregates cannot have their fields taken so they are spurious.</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  filterSet.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(oq);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="comment">// Operate on the field and all its clones.</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> fieldClones = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa175b5db473eb57c03b6f908791d1133">getGepObjClones</a>(oq, gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">getConstantFieldIdx</a>());</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fc : fieldClones)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#acd6ade2b73c19d1eb7faf0e457becba6">gepToSVFGRetrievers</a>[<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aeea7089c6f54b44f0509d41686b649f6">getOriginalObj</a>(fc)].set(gep->getId());</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  tmpDstPts.set(fc);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a282126e5b67ed4e19aa40c81180b8290">gepTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  changed = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">unionPts</a>(gep->getPAGDstNodeID(), tmpDstPts) || changed;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div><div class="ttc" id="classSVF_1_1DCHGraph_html_a0788694fbff155949fc4f4d6487c223e"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e">SVF::DCHGraph::getNumFields</a></div><div class="ttdeci">unsigned getNumFields(const DIType *base)</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8h_source.html#l00335">DCHG.h:335</a></div></div>
|
|
1641
|
+
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="comment">// Copy of that in FlowSensitive.cpp + some changes.</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> q = gep->getPAGSrcNodeID();</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *tildet = <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">getTypeFromCTirMetadata</a>(gep);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">if</span> (tildet != <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">undefType</a>)</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordtype">bool</span> reuse = <a class="code" href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">Options::TBHCAllReuse</a> || (<a class="code" href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">Options::TBHCStoreReuse</a> && !<a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#ad5b294dacf51a89306df9a22c6799bad">gepIsLoad</a>(gep->getId()));</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  changed = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a34064efe336ada815b31050f683c7ce1">init</a>(gep->getId(), q, tildet, reuse, <span class="keyword">true</span>);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">if</span> (!gep->getPAGEdge()->isPTAEdge())</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& qPts = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(q);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &filterSet = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#ae520e0551e63223a908f92a6b9667356">getFilterSet</a>(gep->getId());</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpDstPts;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> oq : qPts)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span> (filterSet.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(oq)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f">TypeBasedHeapCloning::isBlkObjOrConstantObj</a>(oq))</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  tmpDstPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(oq);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gepStmt = SVFUtil::cast<GepStmt>(gep->getPAGEdge());</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">if</span> (gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#a0ddf180a0f7ba64fc8655687910e3788">isVariantFieldGep</a>())</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(oq);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  tmpDstPts.set(oq);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *t = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de">getType</a>(oq);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">if</span> (t && (t->getTag() == dwarf::DW_TAG_array_type || t->getTag() == dwarf::DW_TAG_pointer_type))</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> fieldClones = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa175b5db473eb57c03b6f908791d1133">getGepObjClones</a>(oq, 1);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fc : fieldClones)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#acd6ade2b73c19d1eb7faf0e457becba6">gepToSVFGRetrievers</a>[<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aeea7089c6f54b44f0509d41686b649f6">getOriginalObj</a>(fc)].set(gep->getId());</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  tmpDstPts.set(fc);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad127b0ad478640ede3d426e3a58d2632">DIType</a> *baseType = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de">getType</a>(oq);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="comment">// Drop down to field insensitive.</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> (baseType == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(oq);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fiObj = oq;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  tmpDstPts.set(fiObj);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DCHGraph.html#a9d2be5aec5216cbc1d1709b41f79c44b">DCHGraph::isAgg</a>(baseType) && baseType->getTag() != dwarf::DW_TAG_array_type</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  && gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#a959a9c95d25f90fd7acc8e6e36056b56">getConstantFieldIdx</a>() >= <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#a465e67781977e83526df7e36d576e539">dchg</a>-><a class="code" href="classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e">getNumFields</a>(baseType))</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="comment">// If the field offset is too high for this object, it is killed. It seems that a</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="comment">// clone was made on this GEP but this is not the base (e.g. base->f1->f2), and SVF</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="comment">// expects to operate on the base (hence the large offset). The base will have been</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="comment">// cloned at another GEP and back-propagated, thus it'll reach here safe and sound.</span></div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="comment">// We ignore arrays/pointers because those are array accesses/pointer arithmetic we</span></div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="comment">// assume are correct.</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">// Obviously, non-aggregates cannot have their fields taken so they are spurious.</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  filterSet.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(oq);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="comment">// Operate on the field and all its clones.</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> fieldClones = <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aa175b5db473eb57c03b6f908791d1133">getGepObjClones</a>(oq, gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#a959a9c95d25f90fd7acc8e6e36056b56">getConstantFieldIdx</a>());</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fc : fieldClones)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#acd6ade2b73c19d1eb7faf0e457becba6">gepToSVFGRetrievers</a>[<a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#aeea7089c6f54b44f0509d41686b649f6">getOriginalObj</a>(fc)].set(gep->getId());</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  tmpDstPts.set(fc);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a282126e5b67ed4e19aa40c81180b8290">gepTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  changed = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">unionPts</a>(gep->getPAGDstNodeID(), tmpDstPts) || changed;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div><div class="ttc" id="classSVF_1_1DCHGraph_html_a0788694fbff155949fc4f4d6487c223e"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e">SVF::DCHGraph::getNumFields</a></div><div class="ttdeci">unsigned getNumFields(const DIType *base)</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8h_source.html#l00335">DCHG.h:335</a></div></div>
|
|
1642
1642
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1643
1643
|
<div class="ttc" id="classSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00409">SVFStatements.h:409</a></div></div>
|
|
1644
1644
|
<div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a59a9c7b8a7ec392ac609f10c8dac8d7f"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f">SVF::TypeBasedHeapCloning::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID o) const</div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00036">TypeBasedHeapCloning.cpp:36</a></div></div>
|
|
@@ -1653,12 +1653,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1653
1653
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
1654
1654
|
<div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
|
|
1655
1655
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00362">PointerAnalysis.h:362</a></div></div>
|
|
1656
|
-
<div class="ttc" id="classSVF_1_1GepStmt_html_adf6912f8ddae4f765b685a4f9d3be602"><div class="ttname"><a href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">s64_t getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00453">SVFStatements.h:453</a></div></div>
|
|
1657
1656
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
|
|
1658
1657
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00149">PointsTo.cpp:149</a></div></div>
|
|
1659
1658
|
<div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00178">SVFBasicTypes.h:178</a></div></div>
|
|
1660
1659
|
<div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a219edef6c013a953ed12ee3c56bde6de"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de">SVF::TypeBasedHeapCloning::getType</a></div><div class="ttdeci">const DIType * getType(NodeID o) const</div><div class="ttdoc">Returns the type (from objToType) of o. Asserts existence. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00058">TypeBasedHeapCloning.cpp:58</a></div></div>
|
|
1661
1660
|
<div class="ttc" id="classSVF_1_1GepStmt_html_a0ddf180a0f7ba64fc8655687910e3788"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a0ddf180a0f7ba64fc8655687910e3788">SVF::GepStmt::isVariantFieldGep</a></div><div class="ttdeci">bool isVariantFieldGep() const</div><div class="ttdoc">Gep statement with a variant field index (pointer arithmetic) for struct field access. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00459">SVFStatements.h:459</a></div></div>
|
|
1661
|
+
<div class="ttc" id="classSVF_1_1GepStmt_html_a959a9c95d25f90fd7acc8e6e36056b56"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a959a9c95d25f90fd7acc8e6e36056b56">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">s32_t getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00453">SVFStatements.h:453</a></div></div>
|
|
1662
1662
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
1663
1663
|
<div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_acd6ade2b73c19d1eb7faf0e457becba6"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#acd6ade2b73c19d1eb7faf0e457becba6">SVF::FlowSensitiveTBHC::gepToSVFGRetrievers</a></div><div class="ttdeci">Map< NodeID, NodeBS > gepToSVFGRetrievers</div><div class="ttdoc">Maps GEP objects to the SVFG nodes that retrieved them with getGepObjClones. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8h_source.html#l00115">FlowSensitiveTBHC.h:115</a></div></div>
|
|
1664
1664
|
<div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_ae520e0551e63223a908f92a6b9667356"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#ae520e0551e63223a908f92a6b9667356">SVF::TypeBasedHeapCloning::getFilterSet</a></div><div class="ttdeci">PointsTo & getFilterSet(NodeID loc)</div><div class="ttdoc">Returns the filter set of a location. Not const; could create empty PointsTo. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00113">TypeBasedHeapCloning.cpp:113</a></div></div>
|