svf-tools 1.0.807 → 1.0.809
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/AccessPath_8cpp_source.html +143 -141
- package/SVF-doxygen/html/AccessPath_8h_source.html +36 -35
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +6 -6
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
- package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
- package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +8 -8
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/IntervalValue_8h_source.html +3 -3
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +190 -177
- package/SVF-doxygen/html/LLVMModule_8h_source.html +3 -3
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +26 -38
- package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +9 -9
- package/SVF-doxygen/html/MemRegion_8h_source.html +3 -3
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +26 -26
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +21 -21
- package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +68 -68
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +10 -10
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +822 -848
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +34 -33
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +36 -36
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +15 -15
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +18 -18
- package/SVF-doxygen/html/SVFIR_8h_source.html +15 -15
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +21 -21
- package/SVF-doxygen/html/SVFStatements_8h_source.html +967 -965
- package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
- package/SVF-doxygen/html/SVFType_8cpp_source.html +61 -70
- package/SVF-doxygen/html/SVFType_8h.html +23 -23
- package/SVF-doxygen/html/SVFType_8h_source.html +431 -425
- package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
- package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/VFGNode_8h_source.html +11 -11
- package/SVF-doxygen/html/VFG_8cpp_source.html +19 -19
- package/SVF-doxygen/html/VFG_8h_source.html +14 -14
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +16 -16
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +162 -160
- package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +69 -69
- package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +52 -52
- package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +36 -36
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +98 -98
- package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +20 -20
- package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +64 -64
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +185 -173
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +20 -20
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +47 -47
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +36 -36
- package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +38 -37
- package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +43 -41
- package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +35 -34
- package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +26 -26
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +57 -57
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +908 -893
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +36 -35
- package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +37 -35
- package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +37 -36
- package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +48 -37
- package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +36 -35
- package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +38 -36
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +37 -36
- package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +38 -36
- package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +31 -30
- package/SVF-doxygen/html/classSVF_1_1SVFType.html +103 -67
- package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +10 -10
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +39 -39
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +18 -18
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +45 -45
- package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VFG.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
- package/SVF-doxygen/html/functions_b.html +10 -9
- package/SVF-doxygen/html/functions_func_g.html +22 -20
- package/SVF-doxygen/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/functions_func_s.html +6 -6
- package/SVF-doxygen/html/functions_g.html +22 -20
- package/SVF-doxygen/html/functions_i.html +22 -16
- package/SVF-doxygen/html/functions_n.html +4 -4
- package/SVF-doxygen/html/functions_o.html +18 -19
- package/SVF-doxygen/html/functions_p.html +7 -7
- package/SVF-doxygen/html/functions_s.html +18 -16
- package/SVF-doxygen/html/functions_t.html +4 -4
- package/SVF-doxygen/html/functions_type_i.html +6 -0
- package/SVF-doxygen/html/functions_type_o.html +0 -3
- package/SVF-doxygen/html/functions_type_v.html +0 -3
- package/SVF-doxygen/html/functions_v.html +9 -12
- package/SVF-doxygen/html/functions_vars_b.html +1 -0
- package/SVF-doxygen/html/functions_vars_o.html +1 -1
- package/SVF-doxygen/html/functions_w.html +8 -8
- package/SVF-doxygen/html/namespaceSVF.html +44 -53
- package/SVF-doxygen/html/namespacemembers.html +1 -1
- package/SVF-doxygen/html/namespacemembers_func.html +1 -1
- package/SVF-doxygen/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +222 -222
- package/SVF-doxygen/html/search/all_12.js +543 -543
- package/SVF-doxygen/html/search/all_13.js +191 -191
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +169 -170
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/search/all_7.js +766 -765
- package/SVF-doxygen/html/search/all_8.js +196 -196
- package/SVF-doxygen/html/search/all_9.js +613 -611
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +116 -116
- package/SVF-doxygen/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +360 -360
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +138 -138
- package/SVF-doxygen/html/search/functions_12.js +278 -278
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +86 -86
- package/SVF-doxygen/html/search/functions_3.js +257 -257
- package/SVF-doxygen/html/search/functions_4.js +75 -75
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +59 -59
- package/SVF-doxygen/html/search/functions_7.js +852 -851
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +429 -429
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +26 -26
- package/SVF-doxygen/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +34 -35
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +44 -42
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -15
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/search/variables_5.js +36 -36
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +9 -9
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
- package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
- package/SVF-doxygen/html/svf-ex_8cpp.html +22 -22
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +23 -23
- package/package.json +1 -1
- package/svf/include/AbstractExecution/IntervalValue.h +3 -3
- package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
- package/svf/include/MemoryModel/AccessPath.h +6 -5
- package/svf/include/SVFIR/SVFStatements.h +3 -1
- package/svf/include/SVFIR/SVFType.h +18 -11
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +212 -185
- package/svf/lib/MemoryModel/AccessPath.cpp +10 -9
- package/svf/lib/SVFIR/SVFFileSystem.cpp +5 -5
- package/svf/lib/SVFIR/SVFType.cpp +0 -7
- package/svf-llvm/lib/LLVMModule.cpp +16 -5
- package/svf-llvm/lib/LLVMUtil.cpp +0 -9
- package/svf-llvm/lib/SymbolTableBuilder.cpp +4 -4
|
@@ -104,17 +104,17 @@ Public Member Functions</h2></td></tr>
|
|
|
104
104
|
<tr class="memitem:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
|
|
105
105
|
<tr class="memdesc:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="mdescLeft"> </td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">More...</a><br /></td></tr>
|
|
106
106
|
<tr class="separator:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
|
-
<tr class="memitem:
|
|
108
|
-
<tr class="memdesc:
|
|
109
|
-
<tr class="separator:
|
|
110
|
-
<tr class="memitem:
|
|
111
|
-
<tr class="memdesc:
|
|
112
|
-
<tr class="separator:
|
|
113
|
-
<tr class="memitem:
|
|
114
|
-
<tr class="separator:
|
|
115
|
-
<tr class="memitem:
|
|
116
|
-
<tr class="memdesc:
|
|
117
|
-
<tr class="separator:
|
|
107
|
+
<tr class="memitem:ad49576a7192c87d41f4dc923cd3d0efe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">getByteOffsetfromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
|
|
108
|
+
<tr class="memdesc:ad49576a7192c87d41f4dc923cd3d0efe"><td class="mdescLeft"> </td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">More...</a><br /></td></tr>
|
|
109
|
+
<tr class="separator:ad49576a7192c87d41f4dc923cd3d0efe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
|
+
<tr class="memitem:a678a5278fd485eea65093add11b8a7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">getItvOfFlattenedElemIndexFromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> &gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
|
|
111
|
+
<tr class="memdesc:a678a5278fd485eea65093add11b8a7c3"><td class="mdescLeft"> </td><td class="mdescRight">Return the Index offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">More...</a><br /></td></tr>
|
|
112
|
+
<tr class="separator:a678a5278fd485eea65093add11b8a7c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
113
|
+
<tr class="memitem:a335922caf105ee72cd9d66a451ae3d4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a335922caf105ee72cd9d66a451ae3d4e">getByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
|
|
114
|
+
<tr class="separator:a335922caf105ee72cd9d66a451ae3d4e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
115
|
+
<tr class="memitem:a6e4e3eeca9d25fb5eab496faeb6264c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
|
|
116
|
+
<tr class="memdesc:a6e4e3eeca9d25fb5eab496faeb6264c3"><td class="mdescLeft"> </td><td class="mdescRight">Return the offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>. <a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">More...</a><br /></td></tr>
|
|
117
|
+
<tr class="separator:a6e4e3eeca9d25fb5eab496faeb6264c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
118
118
|
<tr class="memitem:a198e8d5f586a698462dee2c3fde8c83e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a198e8d5f586a698462dee2c3fde8c83e">applySummary</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es)</td></tr>
|
|
119
119
|
<tr class="separator:a198e8d5f586a698462dee2c3fde8c83e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
120
120
|
<tr class="memitem:a61d288c8dc621a0578faa5ff784f4b6e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a> (const <a class="el" href="classSVF_1_1ValVar.html">ValVar</a> *valVar, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</td></tr>
|
|
@@ -301,16 +301,72 @@ Private Attributes</h2></td></tr>
|
|
|
301
301
|
</div><!-- fragment -->
|
|
302
302
|
</div>
|
|
303
303
|
</div>
|
|
304
|
-
<a id="
|
|
305
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
304
|
+
<a id="a335922caf105ee72cd9d66a451ae3d4e"></a>
|
|
305
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a335922caf105ee72cd9d66a451ae3d4e">◆ </a></span>getByteOffset()</h2>
|
|
306
306
|
|
|
307
307
|
<div class="memitem">
|
|
308
308
|
<div class="memproto">
|
|
309
309
|
<table class="memname">
|
|
310
310
|
<tr>
|
|
311
|
-
<td class="memname"
|
|
311
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getByteOffset </td>
|
|
312
312
|
<td>(</td>
|
|
313
|
-
<td class="paramtype">const <a class="el" href="
|
|
313
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> * </td>
|
|
314
|
+
<td class="paramname"><em>gep</em></td><td>)</td>
|
|
315
|
+
<td></td>
|
|
316
|
+
</tr>
|
|
317
|
+
</table>
|
|
318
|
+
</div><div class="memdoc">
|
|
319
|
+
<p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = [i32*10], x, and x is [0,3] std::pair<s32_t, s32_t> byteOffset = getByteOffset(gep); byteOffset should be [0, 12] since i32 is 4 bytes.</p>
|
|
320
|
+
<p>This function, getByteOffset, calculates the byte offset for a given <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
|
|
321
|
+
<dl class="params"><dt>Parameters</dt><dd>
|
|
322
|
+
<table class="params">
|
|
323
|
+
<tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
|
|
324
|
+
</table>
|
|
325
|
+
</dd>
|
|
326
|
+
</dl>
|
|
327
|
+
<dl class="section return"><dt>Returns</dt><dd>The calculated byte offset as an <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.</dd></dl>
|
|
328
|
+
<p>If this getelementptr has constant byte offset, directly call accumulateConstantByteOffset(), otherwise, if one or more index in getelementptr is variable. e.g. var2 = getelementptr inbounds struct.OuterStruct, struct.OuterStruct* var0, i64 0, i32 2, i32 0, i64 var1 struct.OuterStruct = type { i32, i32, struct.InnerStruct } struct.InnerStruct = type { [2 x i32] } there are 4 GepTypePairs (<0, struct.OuterStruct*>, <2, struct.OuterStruct>, <0, struct.InnerStruct>, <var1, [2xi32]>) this function calls <a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe" title="Return the byte offset from one gep param offset.">getByteOffsetfromGepTypePair()</a> to process each pair, and finally accumulate them. e.g. for 0th pair <0, struct.OuterStruct*>, it is 0* ptrSize(struct.OuterStruct*) = 0 bytes for 1st pair <2, struct.OuterStruct>, it is 2nd field in struct.OuterStruct = 8 bytes for 2nd pair <0, struct.InnerStruct>, it is 0th field in struct.InnerStruct = 0 bytes </p>
|
|
329
|
+
<h2><a class="anchor" id="autotoc_md7"></a>
|
|
330
|
+
for 3rd pair <%var1, [2xi32]>, it is %var1'th element in array [2xi32] = 4bytes * %var1</h2>
|
|
331
|
+
<p>Therefore the final byteoffset is [8+4*var1.lb(), 8+4*var1.ub()] </p>
|
|
332
|
+
|
|
333
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00354">354</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
334
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
|
|
335
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="comment">// Check if the GepStmt has a constant offset.</span></div>
|
|
336
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
|
|
337
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div>
|
|
338
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="comment">// If it has a constant offset, return it as an IntervalValue.</span></div>
|
|
339
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(gep-><a class="code" href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">accumulateConstantByteOffset</a>());</div>
|
|
340
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  }</div>
|
|
341
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  </div>
|
|
342
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval 'res' to 0.</span></div>
|
|
343
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div>
|
|
344
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="comment">// Loop through the offsetVarAndGepTypePairVec in reverse order.</span></div>
|
|
345
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
346
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div>
|
|
347
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="comment">// Calculate the byte offset for the current IdxVarAndGepTypePair.</span></div>
|
|
348
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">getByteOffsetfromGepTypePair</a>(</div>
|
|
349
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
|
|
350
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  </div>
|
|
351
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="comment">// Accumulate the byte offset in the result 'res'.</span></div>
|
|
352
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  res = res + offsetIdx;</div>
|
|
353
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  }</div>
|
|
354
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  </div>
|
|
355
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte offset as an IntervalValue.</span></div>
|
|
356
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
|
|
357
|
+
</div><!-- fragment -->
|
|
358
|
+
</div>
|
|
359
|
+
</div>
|
|
360
|
+
<a id="ad49576a7192c87d41f4dc923cd3d0efe"></a>
|
|
361
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad49576a7192c87d41f4dc923cd3d0efe">◆ </a></span>getByteOffsetfromGepTypePair()</h2>
|
|
362
|
+
|
|
363
|
+
<div class="memitem">
|
|
364
|
+
<div class="memproto">
|
|
365
|
+
<table class="memname">
|
|
366
|
+
<tr>
|
|
367
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getByteOffsetfromGepTypePair </td>
|
|
368
|
+
<td>(</td>
|
|
369
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> & </td>
|
|
314
370
|
<td class="paramname"><em>gep_pair</em>, </td>
|
|
315
371
|
</tr>
|
|
316
372
|
<tr>
|
|
@@ -328,67 +384,77 @@ Private Attributes</h2></td></tr>
|
|
|
328
384
|
</div><div class="memdoc">
|
|
329
385
|
|
|
330
386
|
<p>Return the byte offset from one gep param offset. </p>
|
|
331
|
-
<p>
|
|
332
|
-
<
|
|
333
|
-
|
|
334
|
-
<
|
|
335
|
-
<
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
<
|
|
340
|
-
<
|
|
341
|
-
<
|
|
342
|
-
|
|
343
|
-
<
|
|
344
|
-
|
|
345
|
-
<
|
|
346
|
-
<div class="line"><a name="
|
|
347
|
-
<div class="line"><a name="
|
|
348
|
-
<div class="line"><a name="
|
|
349
|
-
<div class="line"><a name="
|
|
350
|
-
<div class="line"><a name="
|
|
351
|
-
<div class="line"><a name="
|
|
352
|
-
<div class="line"><a name="
|
|
353
|
-
<div class="line"><a name="
|
|
354
|
-
<div class="line"><a name="
|
|
355
|
-
<div class="line"><a name="
|
|
356
|
-
<div class="line"><a name="
|
|
357
|
-
<div class="line"><a name="
|
|
358
|
-
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div>
|
|
359
|
-
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> maxByteLimit;</div>
|
|
360
|
-
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  }</div>
|
|
361
|
-
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">else</span></div>
|
|
362
|
-
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  {</div>
|
|
363
|
-
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
|
|
364
|
-
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  }</div>
|
|
365
|
-
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  };</div>
|
|
366
|
-
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">if</span> (op)</div>
|
|
387
|
+
<p>This function, getByteOffsetfromGepTypePair, calculates the byte interval value for a given IdxVarAndGepTypePair and <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
|
|
388
|
+
<dl class="params"><dt>Parameters</dt><dd>
|
|
389
|
+
<table class="params">
|
|
390
|
+
<tr><td class="paramname">gep_pair</td><td>The IdxVarAndGepTypePair containing a value and its type. </td></tr>
|
|
391
|
+
<tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
|
|
392
|
+
</table>
|
|
393
|
+
</dd>
|
|
394
|
+
</dl>
|
|
395
|
+
<dl class="section return"><dt>Returns</dt><dd>The calculated byte interval value.</dd></dl>
|
|
396
|
+
<p>e.g. var2 = getelementptr inbounds struct.OuterStruct, struct.OuterStruct* var0, i64 0, i32 2, i32 0, i64 var1 struct.OuterStruct = type { i32, i32, struct.InnerStruct } struct.InnerStruct = type { [2 x i32] } there are 4 GepTypePairs (<0, struct.OuterStruct*>, <2, struct.OuterStruct>, <0, struct.InnerStruct>, <var1, [2xi32]>) this function can process one GepTypePairs and return byte offset interval value. e.g. for 0th pair <0, struct.OuterStruct*>, it is 0* ptrSize(struct.OuterStruct*) = 0 bytes for 1st pair <2, struct.OuterStruct>, it is 2nd field in struct.OuterStruct = 8 bytes for 2nd pair <0, struct.InnerStruct>, it is 0th field in struct.InnerStruct = 0 bytes </p>
|
|
397
|
+
<h2><a class="anchor" id="autotoc_md6"></a>
|
|
398
|
+
for 3rd pair <%var1, [2xi32]>, it is %var1'th element in array [2xi32] = 4bytes * %var1</h2>
|
|
399
|
+
<p>for 0th/1st/2nd pair, the <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> has constant value for 3rd pair, the <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> is variable, which needs ES table to calculate the interval. </p>
|
|
400
|
+
|
|
401
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00201">201</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
402
|
+
<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div>
|
|
403
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval 'res' to 0.</span></div>
|
|
404
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  </div>
|
|
405
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first->getValue();</div>
|
|
406
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
|
|
407
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  </div>
|
|
408
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="comment">// Check the type of 'gep_pair.second' and process it accordingly.</span></div>
|
|
409
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrType = SVFUtil::dyn_cast<SVFArrayType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
410
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = arrType->getTypeOfElement();</div>
|
|
411
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* ptrType = SVFUtil::dyn_cast<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
412
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = ptrType->getPtrElementType();</div>
|
|
413
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structType = SVFUtil::dyn_cast<SVFStructType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
367
414
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div>
|
|
368
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
|
|
369
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
370
|
-
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> 
|
|
371
|
-
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
|
|
372
|
-
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> 
|
|
373
|
-
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> 
|
|
374
|
-
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
|
|
375
|
-
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
|
|
376
|
-
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
|
|
377
|
-
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 
|
|
378
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> 
|
|
379
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
|
|
380
|
-
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 
|
|
381
|
-
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
|
|
382
|
-
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> 
|
|
383
|
-
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 
|
|
384
|
-
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 
|
|
385
|
-
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> 
|
|
386
|
-
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> 
|
|
387
|
-
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> 
|
|
388
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> 
|
|
389
|
-
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
|
|
390
|
-
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
|
|
391
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
|
|
415
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// If it's a struct type with a constant index, calculate byte sizes.</span></div>
|
|
416
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(value))</div>
|
|
417
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
|
|
418
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structField = 0; structField < (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)op->getSExtValue(); ++structField)</div>
|
|
419
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  {</div>
|
|
420
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = structType->getTypeInfo()->getFlattenedFieldIdxVec()[structField];</div>
|
|
421
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(structType->getTypeInfo()->getOriginalElemType(flattenIdx)->getByteSize());</div>
|
|
422
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div>
|
|
423
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> res;</div>
|
|
424
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div>
|
|
425
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">else</span></div>
|
|
426
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"struct type can only pair with constant idx"</span>);</div>
|
|
427
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div>
|
|
428
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">else</span></div>
|
|
429
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"gep type pair only support arr/ptr/struct"</span>);</div>
|
|
430
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div>
|
|
431
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> typeSz = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getByteSize();</div>
|
|
432
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
|
|
433
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// Calculate byte size based on the type and value, considering MaxFieldLimit option.</span></div>
|
|
434
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(value))</div>
|
|
435
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div>
|
|
436
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz >= op->getSExtValue() ? op->getSExtValue() * typeSz: <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
437
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, lb);</div>
|
|
438
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div>
|
|
439
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">else</span></div>
|
|
440
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  {</div>
|
|
441
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
|
|
442
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx] * <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getByteSize());</div>
|
|
443
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
444
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div>
|
|
445
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
446
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  }</div>
|
|
447
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">else</span></div>
|
|
448
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div>
|
|
449
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ub = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz >= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() ? typeSz * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
450
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < 0) ? 0 :</div>
|
|
451
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / typeSz >= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) ? (typeSz * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
452
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
|
|
453
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div>
|
|
454
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div>
|
|
455
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  </div>
|
|
456
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte interval value.</span></div>
|
|
457
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
|
|
392
458
|
</div><!-- fragment -->
|
|
393
459
|
</div>
|
|
394
460
|
</div>
|
|
@@ -452,52 +518,6 @@ Private Attributes</h2></td></tr>
|
|
|
452
518
|
</div><!-- fragment -->
|
|
453
519
|
</div>
|
|
454
520
|
</div>
|
|
455
|
-
<a id="ae7d4ea045ddf4d49230065ff3bf07f61"></a>
|
|
456
|
-
<h2 class="memtitle"><span class="permalink"><a href="#ae7d4ea045ddf4d49230065ff3bf07f61">◆ </a></span>getGepByteOffset()</h2>
|
|
457
|
-
|
|
458
|
-
<div class="memitem">
|
|
459
|
-
<div class="memproto">
|
|
460
|
-
<table class="memname">
|
|
461
|
-
<tr>
|
|
462
|
-
<td class="memname">std::pair< <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> > SVFIR2ItvExeState::getGepByteOffset </td>
|
|
463
|
-
<td>(</td>
|
|
464
|
-
<td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> * </td>
|
|
465
|
-
<td class="paramname"><em>gep</em></td><td>)</td>
|
|
466
|
-
<td></td>
|
|
467
|
-
</tr>
|
|
468
|
-
</table>
|
|
469
|
-
</div><div class="memdoc">
|
|
470
|
-
<p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = [i32*10], x, and x is [0,3] std::pair<s32_t, s32_t> byteOffset = getGepByteOffset(gep); byteOffset should be [0, 12] since i32 is 4 bytes. </p>
|
|
471
|
-
<p>for instant constant index, e.g. gep arr, 1</p>
|
|
472
|
-
<p>default value of MaxFieldLimit is 512</p>
|
|
473
|
-
|
|
474
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00322">322</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
475
|
-
<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div>
|
|
476
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
|
|
477
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> std::make_pair(gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
|
|
478
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
|
|
479
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
|
|
480
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = 0xFFFFFF;</div>
|
|
481
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
482
|
-
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  {</div>
|
|
483
|
-
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  std::pair<APOffset, APOffset> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">getBytefromGepTypePair</a>(</div>
|
|
484
|
-
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
|
|
485
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
|
|
486
|
-
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
|
|
487
|
-
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">if</span> (totalOffsetLb + offsetLb > maxFieldLimit)</div>
|
|
488
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  totalOffsetLb = maxFieldLimit;</div>
|
|
489
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">else</span></div>
|
|
490
|
-
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  totalOffsetLb += offsetLb;</div>
|
|
491
|
-
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">if</span> (totalOffsetUb + offsetUb > maxFieldLimit)</div>
|
|
492
|
-
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  totalOffsetUb = maxFieldLimit;</div>
|
|
493
|
-
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">else</span></div>
|
|
494
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  totalOffsetUb += offsetUb ;</div>
|
|
495
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div>
|
|
496
|
-
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
|
|
497
|
-
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div>
|
|
498
|
-
</div><!-- fragment -->
|
|
499
|
-
</div>
|
|
500
|
-
</div>
|
|
501
521
|
<a id="a67532bdc1e4a49cf4d9da4b99b38e69a"></a>
|
|
502
522
|
<h2 class="memtitle"><span class="permalink"><a href="#a67532bdc1e4a49cf4d9da4b99b38e69a">◆ </a></span>getGepObjAddress()</h2>
|
|
503
523
|
|
|
@@ -549,193 +569,198 @@ Private Attributes</h2></td></tr>
|
|
|
549
569
|
</div><!-- fragment -->
|
|
550
570
|
</div>
|
|
551
571
|
</div>
|
|
552
|
-
<a id="
|
|
553
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
572
|
+
<a id="a66c426719f583653cb70189f01d6fda5"></a>
|
|
573
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a66c426719f583653cb70189f01d6fda5">◆ </a></span>getInternalID()</h2>
|
|
554
574
|
|
|
555
575
|
<div class="memitem">
|
|
556
576
|
<div class="memproto">
|
|
577
|
+
<table class="mlabels">
|
|
578
|
+
<tr>
|
|
579
|
+
<td class="mlabels-left">
|
|
557
580
|
<table class="memname">
|
|
558
581
|
<tr>
|
|
559
|
-
<td class="memname">
|
|
582
|
+
<td class="memname">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> SVF::SVFIR2ItvExeState::getInternalID </td>
|
|
560
583
|
<td>(</td>
|
|
561
|
-
<td class="paramtype"
|
|
562
|
-
<td class="paramname"><em>
|
|
584
|
+
<td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td>
|
|
585
|
+
<td class="paramname"><em>idx</em></td><td>)</td>
|
|
563
586
|
<td></td>
|
|
564
587
|
</tr>
|
|
565
588
|
</table>
|
|
589
|
+
</td>
|
|
590
|
+
<td class="mlabels-right">
|
|
591
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
592
|
+
</tr>
|
|
593
|
+
</table>
|
|
566
594
|
</div><div class="memdoc">
|
|
567
595
|
|
|
568
|
-
<p>Return the
|
|
569
|
-
|
|
570
|
-
<p>
|
|
571
|
-
|
|
572
|
-
<
|
|
573
|
-
<div class="
|
|
574
|
-
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
|
|
575
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> std::make_pair(gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
|
|
576
|
-
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
|
|
577
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
|
|
578
|
-
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
|
|
579
|
-
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
580
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div>
|
|
581
|
-
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  std::pair<APOffset, APOffset> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a>(</div>
|
|
582
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
|
|
583
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
|
|
584
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
|
|
585
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) > maxFieldLimit)</div>
|
|
586
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  totalOffsetLb = maxFieldLimit;</div>
|
|
587
|
-
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">else</span></div>
|
|
588
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  totalOffsetLb += offsetLb;</div>
|
|
589
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) > maxFieldLimit)</div>
|
|
590
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  totalOffsetUb = maxFieldLimit;</div>
|
|
591
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">else</span></div>
|
|
592
|
-
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  totalOffsetUb += offsetUb ;</div>
|
|
593
|
-
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div>
|
|
594
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
|
|
595
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div>
|
|
596
|
+
<p>Return the internal index if idx is an address otherwise return the value of idx. </p>
|
|
597
|
+
|
|
598
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00162">162</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
|
|
599
|
+
<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div>
|
|
600
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">ExeState::getInternalID</a>(idx);</div>
|
|
601
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div>
|
|
596
602
|
</div><!-- fragment -->
|
|
597
603
|
</div>
|
|
598
604
|
</div>
|
|
599
|
-
<a id="
|
|
600
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
605
|
+
<a id="a6e4e3eeca9d25fb5eab496faeb6264c3"></a>
|
|
606
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a6e4e3eeca9d25fb5eab496faeb6264c3">◆ </a></span>getItvOfFlattenedElemIndex()</h2>
|
|
601
607
|
|
|
602
608
|
<div class="memitem">
|
|
603
609
|
<div class="memproto">
|
|
604
610
|
<table class="memname">
|
|
605
611
|
<tr>
|
|
606
|
-
<td class="memname"
|
|
612
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getItvOfFlattenedElemIndex </td>
|
|
607
613
|
<td>(</td>
|
|
608
|
-
<td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> & </td>
|
|
609
|
-
<td class="paramname"><em>gep_pair</em>, </td>
|
|
610
|
-
</tr>
|
|
611
|
-
<tr>
|
|
612
|
-
<td class="paramkey"></td>
|
|
613
|
-
<td></td>
|
|
614
614
|
<td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> * </td>
|
|
615
|
-
<td class="paramname"><em>gep</em
|
|
616
|
-
</tr>
|
|
617
|
-
<tr>
|
|
615
|
+
<td class="paramname"><em>gep</em></td><td>)</td>
|
|
618
616
|
<td></td>
|
|
619
|
-
<td>)</td>
|
|
620
|
-
<td></td><td></td>
|
|
621
617
|
</tr>
|
|
622
618
|
</table>
|
|
623
619
|
</div><div class="memdoc">
|
|
624
620
|
|
|
625
|
-
<p>Return the
|
|
626
|
-
<p>offset
|
|
627
|
-
|
|
628
|
-
<
|
|
629
|
-
<
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
<
|
|
634
|
-
<
|
|
635
|
-
<
|
|
636
|
-
|
|
637
|
-
<
|
|
638
|
-
<div class="line"><a name="
|
|
639
|
-
<div class="line"><a name="
|
|
640
|
-
<div class="line"><a name="
|
|
641
|
-
<div class="line"><a name="
|
|
642
|
-
<div class="line"><a name="
|
|
643
|
-
<div class="line"><a name="
|
|
644
|
-
<div class="line"><a name="
|
|
645
|
-
<div class="line"><a name="
|
|
646
|
-
<div class="line"><a name="
|
|
647
|
-
<div class="line"><a name="
|
|
648
|
-
<div class="line"><a name="
|
|
649
|
-
<div class="line"><a name="
|
|
650
|
-
<div class="line"><a name="
|
|
651
|
-
<div class="line"><a name="
|
|
652
|
-
<div class="line"><a name="
|
|
653
|
-
<div class="line"><a name="
|
|
654
|
-
<div class="line"><a name="
|
|
655
|
-
<div class="line"><a name="
|
|
656
|
-
<div class="line"><a name="
|
|
657
|
-
<div class="line"><a name="
|
|
658
|
-
<div class="line"><a name="
|
|
659
|
-
<div class="line"><a name="
|
|
660
|
-
<div class="line"><a name="
|
|
661
|
-
<div class="line"><a name="
|
|
662
|
-
<div class="line"><a name="
|
|
663
|
-
<div class="line"><a name="
|
|
664
|
-
<div class="line"><a name="
|
|
665
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div>
|
|
666
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
667
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  }</div>
|
|
668
|
-
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">else</span></div>
|
|
669
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div>
|
|
670
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
671
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
672
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div>
|
|
673
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div>
|
|
674
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  </div>
|
|
675
|
-
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
676
|
-
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div>
|
|
677
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
678
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div>
|
|
679
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  offsetLb = offsetLb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
680
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  offsetUb = offsetUb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
681
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div>
|
|
682
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">else</span></div>
|
|
683
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div>
|
|
684
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">const</span> std::vector<u32_t>& so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
|
|
685
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  -><a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
686
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  -><a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
|
|
687
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (so.empty() || offsetUb >= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
|
|
688
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  offsetLb >= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
|
|
689
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  {</div>
|
|
690
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  offsetLb = 0;</div>
|
|
691
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  offsetUb = maxFieldLimit;</div>
|
|
692
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div>
|
|
693
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">else</span></div>
|
|
694
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div>
|
|
695
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  offsetLb =</div>
|
|
696
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
|
|
697
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
|
|
698
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  offsetUb =</div>
|
|
699
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
|
|
700
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
|
|
701
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
|
702
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div>
|
|
703
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
704
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
|
|
705
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div>
|
|
621
|
+
<p>Return the offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>. </p>
|
|
622
|
+
<p>This function, getItvOfFlattenedElemIndex, calculates the offset range as a pair of APOffset values for a given <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
|
|
623
|
+
<dl class="params"><dt>Parameters</dt><dd>
|
|
624
|
+
<table class="params">
|
|
625
|
+
<tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
|
|
626
|
+
</table>
|
|
627
|
+
</dd>
|
|
628
|
+
</dl>
|
|
629
|
+
<dl class="section return"><dt>Returns</dt><dd>A pair of APOffset values representing the offset range. </dd></dl>
|
|
630
|
+
<p>Default value of Min/MaxFieldLimit is 0/512</p>
|
|
631
|
+
<p>For instant constant index, e.g., gep arr, 1</p>
|
|
632
|
+
|
|
633
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00387">387</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
634
|
+
<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div>
|
|
635
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
|
|
636
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
|
|
637
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  </div>
|
|
638
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
|
|
639
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
640
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div>
|
|
641
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().empty() || gep-><a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
|
|
642
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
643
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> offsetIdx = gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>();</div>
|
|
644
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(offsetIdx, offsetIdx);</div>
|
|
645
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  }</div>
|
|
646
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">else</span></div>
|
|
647
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  {</div>
|
|
648
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
649
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  {</div>
|
|
650
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">getItvOfFlattenedElemIndexFromGepTypePair</a>(</div>
|
|
651
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
|
|
652
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  totalOffsetLb += offsetIdx.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
|
|
653
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  totalOffsetUb += offsetIdx.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
|
|
654
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div>
|
|
655
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  totalOffsetLb = (totalOffsetLb < minFieldLimit) ? minFieldLimit :</div>
|
|
656
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  (totalOffsetLb > maxFieldLimit) ? maxFieldLimit : totalOffsetLb;</div>
|
|
657
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  }</div>
|
|
658
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  </div>
|
|
659
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(totalOffsetLb, totalOffsetUb); <span class="comment">// Return a pair of APOffset values representing the offset range.</span></div>
|
|
660
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
|
|
706
661
|
</div><!-- fragment -->
|
|
707
662
|
</div>
|
|
708
663
|
</div>
|
|
709
|
-
<a id="
|
|
710
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
664
|
+
<a id="a678a5278fd485eea65093add11b8a7c3"></a>
|
|
665
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a678a5278fd485eea65093add11b8a7c3">◆ </a></span>getItvOfFlattenedElemIndexFromGepTypePair()</h2>
|
|
711
666
|
|
|
712
667
|
<div class="memitem">
|
|
713
668
|
<div class="memproto">
|
|
714
|
-
<table class="mlabels">
|
|
715
|
-
<tr>
|
|
716
|
-
<td class="mlabels-left">
|
|
717
669
|
<table class="memname">
|
|
718
670
|
<tr>
|
|
719
|
-
<td class="memname"
|
|
671
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getItvOfFlattenedElemIndexFromGepTypePair </td>
|
|
720
672
|
<td>(</td>
|
|
721
|
-
<td class="paramtype"
|
|
722
|
-
<td class="paramname"><em>
|
|
673
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#a98dfa824a51134c3f72a5d153240d378">AccessPath::IdxVarAndGepTypePair</a> & </td>
|
|
674
|
+
<td class="paramname"><em>gep_pair</em>, </td>
|
|
675
|
+
</tr>
|
|
676
|
+
<tr>
|
|
677
|
+
<td class="paramkey"></td>
|
|
723
678
|
<td></td>
|
|
679
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> * </td>
|
|
680
|
+
<td class="paramname"><em>gep</em> </td>
|
|
681
|
+
</tr>
|
|
682
|
+
<tr>
|
|
683
|
+
<td></td>
|
|
684
|
+
<td>)</td>
|
|
685
|
+
<td></td><td></td>
|
|
724
686
|
</tr>
|
|
725
687
|
</table>
|
|
726
|
-
</td>
|
|
727
|
-
<td class="mlabels-right">
|
|
728
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
729
|
-
</tr>
|
|
730
|
-
</table>
|
|
731
688
|
</div><div class="memdoc">
|
|
732
689
|
|
|
733
|
-
<p>Return the
|
|
734
|
-
|
|
735
|
-
<
|
|
736
|
-
<
|
|
737
|
-
<
|
|
738
|
-
<
|
|
690
|
+
<p>Return the Index offset from one gep param offset. </p>
|
|
691
|
+
<p>This function, getItvOfFlattenedElemIndexFromGepTypePair, calculates the index range as a pair of APOffset values for a given IdxVarAndGepTypePair and <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>.</p>
|
|
692
|
+
<dl class="params"><dt>Parameters</dt><dd>
|
|
693
|
+
<table class="params">
|
|
694
|
+
<tr><td class="paramname">gep_pair</td><td>The IdxVarAndGepTypePair containing a value and its type. </td></tr>
|
|
695
|
+
<tr><td class="paramname">gep</td><td>The <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> representing the GetElementPtr instruction.</td></tr>
|
|
696
|
+
</table>
|
|
697
|
+
</dd>
|
|
698
|
+
</dl>
|
|
699
|
+
<dl class="section return"><dt>Returns</dt><dd>A pair of APOffset values representing the index range. </dd></dl>
|
|
700
|
+
<p>If the offset is constant but stored in a variable</p>
|
|
701
|
+
|
|
702
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00268">268</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
703
|
+
<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> {</div>
|
|
704
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first->getValue();</div>
|
|
705
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
|
|
706
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
|
|
707
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
|
|
708
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
709
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
|
|
710
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  </div>
|
|
711
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(value))</div>
|
|
712
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  offsetLb = offsetUb = op->getSExtValue();</div>
|
|
713
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">else</span></div>
|
|
714
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  {</div>
|
|
715
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
|
|
716
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
|
|
717
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
718
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
|
|
719
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">// If idxVal is a concrete value</span></div>
|
|
720
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
721
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  {</div>
|
|
722
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> constIdxVal = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">getNumeral</a>();</div>
|
|
723
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  constIdxVal = (constIdxVal < minFieldLimit) ? minFieldLimit :</div>
|
|
724
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  (constIdxVal > maxFieldLimit) ? maxFieldLimit : constIdxVal;</div>
|
|
725
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  offsetLb = offsetUb = constIdxVal;</div>
|
|
726
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  }</div>
|
|
727
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">else</span></div>
|
|
728
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div>
|
|
729
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  offsetLb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < minFieldLimit) ? minFieldLimit :</div>
|
|
730
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() > maxFieldLimit) ? maxFieldLimit : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
|
|
731
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  offsetUb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < minFieldLimit) ? minFieldLimit :</div>
|
|
732
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() > maxFieldLimit) ? maxFieldLimit : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
|
|
733
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
|
734
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div>
|
|
735
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  </div>
|
|
736
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
737
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div>
|
|
738
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
739
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div>
|
|
740
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  offsetLb = offsetLb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
741
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  offsetUb = offsetUb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
742
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div>
|
|
743
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">else</span></div>
|
|
744
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
|
745
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keyword">const</span> std::vector<u32_t>& so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
|
|
746
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  -><a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
747
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  -><a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
|
|
748
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">if</span> (so.empty() || offsetUb >= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
|
|
749
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  offsetLb >= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
|
|
750
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div>
|
|
751
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  offsetLb = 0;</div>
|
|
752
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  offsetUb = maxFieldLimit;</div>
|
|
753
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  }</div>
|
|
754
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">else</span></div>
|
|
755
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  {</div>
|
|
756
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  offsetLb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
|
|
757
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  offsetUb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
|
|
758
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div>
|
|
759
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
|
|
760
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div>
|
|
761
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  </div>
|
|
762
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(offsetLb, offsetUb); <span class="comment">// Return a pair of APOffset values representing the index range.</span></div>
|
|
763
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
|
|
739
764
|
</div><!-- fragment -->
|
|
740
765
|
</div>
|
|
741
766
|
</div>
|
|
@@ -872,50 +897,36 @@ Private Attributes</h2></td></tr>
|
|
|
872
897
|
</dl>
|
|
873
898
|
<p>constant data</p>
|
|
874
899
|
|
|
875
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
876
|
-
<div class="fragment"><div class="line"><a name="
|
|
877
|
-
<div class="line"><a name="
|
|
878
|
-
<div class="line"><a name="
|
|
879
|
-
<div class="line"><a name="
|
|
880
|
-
<div class="line"><a name="
|
|
881
|
-
<div class="line"><a name="
|
|
882
|
-
<div class="line"><a name="
|
|
883
|
-
<div class="line"><a name="
|
|
884
|
-
<div class="line"><a name="
|
|
885
|
-
<div class="line"><a name="
|
|
886
|
-
<div class="line"><a name="
|
|
887
|
-
<div class="line"><a name="
|
|
888
|
-
<div class="line"><a name="
|
|
889
|
-
<div class="line"><a name="
|
|
890
|
-
<div class="line"><a name="
|
|
891
|
-
<div class="line"><a name="
|
|
892
|
-
<div class="line"><a name="
|
|
893
|
-
<div class="line"><a name="
|
|
894
|
-
<div class="line"><a name="
|
|
895
|
-
<div class="line"><a name="
|
|
896
|
-
<div class="line"><a name="
|
|
897
|
-
<div class="line"><a name="
|
|
898
|
-
<div class="line"><a name="
|
|
899
|
-
<div class="line"><a name="
|
|
900
|
-
<div class="line"><a name="
|
|
901
|
-
<div class="line"><a name="
|
|
902
|
-
<div class="line"><a name="
|
|
903
|
-
<div class="line"><a name="
|
|
904
|
-
<div class="line"><a name="
|
|
905
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  {</div>
|
|
906
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
907
|
-
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  }</div>
|
|
908
|
-
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  }</div>
|
|
909
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">else</span></div>
|
|
910
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  {</div>
|
|
911
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
|
|
912
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  }</div>
|
|
913
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  }</div>
|
|
914
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">else</span></div>
|
|
915
|
-
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  {</div>
|
|
916
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
|
|
917
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }</div>
|
|
918
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
|
|
900
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00459">459</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
901
|
+
<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div>
|
|
902
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  </div>
|
|
903
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">if</span> (objVar-><a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
|
|
904
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  {</div>
|
|
905
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-><a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
|
|
906
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
|
|
907
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div>
|
|
908
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast<SVFConstantInt>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
909
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div>
|
|
910
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordtype">double</span> numeral = (double)consInt->getSExtValue();</div>
|
|
911
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
|
|
912
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div>
|
|
913
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast<SVFConstantFP>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
914
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP->getFPValue(), consFP->getFPValue());</div>
|
|
915
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFConstantNullPtr>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
916
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
917
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFGlobalValue>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
918
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
|
|
919
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
|
|
920
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
921
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">else</span></div>
|
|
922
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
923
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div>
|
|
924
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">else</span></div>
|
|
925
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
|
|
926
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
|
927
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">else</span></div>
|
|
928
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
|
|
929
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
|
|
919
930
|
</div><!-- fragment -->
|
|
920
931
|
</div>
|
|
921
932
|
</div>
|
|
@@ -937,28 +948,28 @@ Private Attributes</h2></td></tr>
|
|
|
937
948
|
|
|
938
949
|
<p>Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. </p>
|
|
939
950
|
|
|
940
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
941
|
-
<div class="fragment"><div class="line"><a name="
|
|
942
|
-
<div class="line"><a name="
|
|
943
|
-
<div class="line"><a name="
|
|
944
|
-
<div class="line"><a name="
|
|
945
|
-
<div class="line"><a name="
|
|
946
|
-
<div class="line"><a name="
|
|
947
|
-
<div class="line"><a name="
|
|
948
|
-
<div class="line"><a name="
|
|
949
|
-
<div class="line"><a name="
|
|
950
|
-
<div class="line"><a name="
|
|
951
|
-
<div class="line"><a name="
|
|
952
|
-
<div class="line"><a name="
|
|
953
|
-
<div class="line"><a name="
|
|
954
|
-
<div class="line"><a name="
|
|
955
|
-
<div class="line"><a name="
|
|
956
|
-
<div class="line"><a name="
|
|
957
|
-
<div class="line"><a name="
|
|
958
|
-
<div class="line"><a name="
|
|
959
|
-
<div class="line"><a name="
|
|
960
|
-
<div class="line"><a name="
|
|
961
|
-
<div class="line"><a name="
|
|
951
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00491">491</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
952
|
+
<div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> {</div>
|
|
953
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
|
|
954
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
|
|
955
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
|
|
956
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="comment">// write objvar into cache instead of exestate</span></div>
|
|
957
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast<ObjVar>(svfVar))</div>
|
|
958
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div>
|
|
959
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
|
|
960
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span>;</div>
|
|
961
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div>
|
|
962
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast<ValVar>(svfVar))</div>
|
|
963
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div>
|
|
964
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
|
|
965
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span>;</div>
|
|
966
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
|
|
967
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">else</span></div>
|
|
968
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div>
|
|
969
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
|
|
970
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span>;</div>
|
|
971
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div>
|
|
972
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div>
|
|
962
973
|
</div><!-- fragment -->
|
|
963
974
|
</div>
|
|
964
975
|
</div>
|
|
@@ -997,37 +1008,36 @@ Private Attributes</h2></td></tr>
|
|
|
997
1008
|
</dd>
|
|
998
1009
|
</dl>
|
|
999
1010
|
|
|
1000
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1001
|
-
<div class="fragment"><div class="line"><a name="
|
|
1002
|
-
<div class="line"><a name="
|
|
1003
|
-
<div class="line"><a name="
|
|
1004
|
-
<div class="line"><a name="
|
|
1005
|
-
<div class="line"><a name="
|
|
1006
|
-
<div class="line"><a name="
|
|
1007
|
-
<div class="line"><a name="
|
|
1008
|
-
<div class="line"><a name="
|
|
1009
|
-
<div class="line"><a name="
|
|
1010
|
-
<div class="line"><a name="
|
|
1011
|
-
<div class="line"><a name="
|
|
1012
|
-
<div class="line"><a name="
|
|
1013
|
-
<div class="line"><a name="
|
|
1014
|
-
<div class="line"><a name="
|
|
1015
|
-
<div class="line"><a name="
|
|
1016
|
-
<div class="line"><a name="
|
|
1017
|
-
<div class="line"><a name="
|
|
1018
|
-
<div class="line"><a name="
|
|
1019
|
-
<div class="line"><a name="
|
|
1020
|
-
<div class="line"><a name="
|
|
1021
|
-
<div class="line"><a name="
|
|
1022
|
-
<div class="line"><a name="
|
|
1023
|
-
<div class="line"><a name="
|
|
1024
|
-
<div class="line"><a name="
|
|
1025
|
-
<div class="line"><a name="
|
|
1026
|
-
<div class="line"><a name="
|
|
1027
|
-
<div class="line"><a name="
|
|
1028
|
-
<div class="line"><a name="
|
|
1029
|
-
<div class="line"><a name="
|
|
1030
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
|
|
1011
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00423">423</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1012
|
+
<div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> {</div>
|
|
1013
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  </div>
|
|
1014
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
|
|
1015
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-><a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
|
|
1016
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  {</div>
|
|
1017
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
|
|
1018
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
|
|
1019
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
|
|
1020
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
|
|
1021
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
|
|
1022
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
|
|
1023
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="comment">// continue with null expression</span></div>
|
|
1024
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1025
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">else</span></div>
|
|
1026
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  {</div>
|
|
1027
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  </div>
|
|
1028
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << valVar-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() << <span class="stringliteral">"\n"</span> << <span class="stringliteral">" type: "</span> << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> << <span class="stringliteral">"\n"</span>;</div>
|
|
1029
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"what other types we have"</span>);</div>
|
|
1030
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  }</div>
|
|
1031
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div>
|
|
1032
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">else</span></div>
|
|
1033
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div>
|
|
1034
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">if</span> (svfir-><a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
|
|
1035
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
1036
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">else</span></div>
|
|
1037
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1038
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  assert(SVFUtil::isa<DummyValVar>(valVar) && <span class="stringliteral">"not a DummValVar if it has no type?"</span>);</div>
|
|
1039
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div>
|
|
1040
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
|
|
1031
1041
|
</div><!-- fragment -->
|
|
1032
1042
|
</div>
|
|
1033
1043
|
</div>
|
|
@@ -1372,23 +1382,23 @@ Private Attributes</h2></td></tr>
|
|
|
1372
1382
|
</table>
|
|
1373
1383
|
</div><div class="memdoc">
|
|
1374
1384
|
|
|
1375
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1376
|
-
<div class="fragment"><div class="line"><a name="
|
|
1377
|
-
<div class="line"><a name="
|
|
1378
|
-
<div class="line"><a name="
|
|
1379
|
-
<div class="line"><a name="
|
|
1380
|
-
<div class="line"><a name="
|
|
1381
|
-
<div class="line"><a name="
|
|
1382
|
-
<div class="line"><a name="
|
|
1383
|
-
<div class="line"><a name="
|
|
1384
|
-
<div class="line"><a name="
|
|
1385
|
-
<div class="line"><a name="
|
|
1386
|
-
<div class="line"><a name="
|
|
1387
|
-
<div class="line"><a name="
|
|
1388
|
-
<div class="line"><a name="
|
|
1389
|
-
<div class="line"><a name="
|
|
1390
|
-
<div class="line"><a name="
|
|
1391
|
-
<div class="line"><a name="
|
|
1385
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00515">515</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1386
|
+
<div class="fragment"><div class="line"><a name="l00516"></a><span class="lineno"> 516</span> {</div>
|
|
1387
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
|
|
1388
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
|
|
1389
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div>
|
|
1390
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
|
|
1391
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div>
|
|
1392
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
|
|
1393
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  {</div>
|
|
1394
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
|
|
1395
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
|
|
1396
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  }</div>
|
|
1397
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">else</span></div>
|
|
1398
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  {</div>
|
|
1399
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"not number or virtual addrs?"</span>);</div>
|
|
1400
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  }</div>
|
|
1401
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
|
|
1392
1402
|
</div><!-- fragment -->
|
|
1393
1403
|
</div>
|
|
1394
1404
|
</div>
|
|
@@ -1408,67 +1418,67 @@ Private Attributes</h2></td></tr>
|
|
|
1408
1418
|
</table>
|
|
1409
1419
|
</div><div class="memdoc">
|
|
1410
1420
|
|
|
1411
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1412
|
-
<div class="fragment"><div class="line"><a name="
|
|
1413
|
-
<div class="line"><a name="
|
|
1414
|
-
<div class="line"><a name="
|
|
1415
|
-
<div class="line"><a name="
|
|
1416
|
-
<div class="line"><a name="
|
|
1417
|
-
<div class="line"><a name="
|
|
1418
|
-
<div class="line"><a name="
|
|
1419
|
-
<div class="line"><a name="
|
|
1420
|
-
<div class="line"><a name="
|
|
1421
|
-
<div class="line"><a name="
|
|
1422
|
-
<div class="line"><a name="
|
|
1423
|
-
<div class="line"><a name="
|
|
1424
|
-
<div class="line"><a name="
|
|
1425
|
-
<div class="line"><a name="
|
|
1426
|
-
<div class="line"><a name="
|
|
1427
|
-
<div class="line"><a name="
|
|
1428
|
-
<div class="line"><a name="
|
|
1429
|
-
<div class="line"><a name="
|
|
1430
|
-
<div class="line"><a name="
|
|
1431
|
-
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">break</span>;</div>
|
|
1432
|
-
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
|
|
1433
|
-
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
|
|
1434
|
-
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  resVal = (lhs * rhs);</div>
|
|
1435
|
-
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">break</span>;</div>
|
|
1436
|
-
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
|
|
1437
|
-
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
|
|
1438
|
-
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
|
|
1439
|
-
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  resVal = (lhs / rhs);</div>
|
|
1440
|
-
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">break</span>;</div>
|
|
1441
|
-
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
|
|
1442
|
-
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
|
|
1443
|
-
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
|
|
1444
|
-
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  resVal = (lhs % rhs);</div>
|
|
1445
|
-
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">break</span>;</div>
|
|
1446
|
-
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
|
|
1447
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  resVal = (lhs ^ rhs);</div>
|
|
1448
|
-
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">break</span>;</div>
|
|
1449
|
-
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
|
|
1450
|
-
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  resVal = (lhs & rhs);</div>
|
|
1451
|
-
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">break</span>;</div>
|
|
1452
|
-
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
|
|
1453
|
-
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  resVal = (lhs | rhs);</div>
|
|
1454
|
-
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">break</span>;</div>
|
|
1455
|
-
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
|
|
1456
|
-
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  resVal = (lhs >> rhs);</div>
|
|
1421
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00534">534</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1422
|
+
<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div>
|
|
1423
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
|
|
1424
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
|
|
1425
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
1426
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1427
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1428
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
|
|
1429
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  {</div>
|
|
1430
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
|
|
1431
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
1432
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">switch</span> (binary-><a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
|
|
1433
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  {</div>
|
|
1434
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
|
|
1435
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
|
|
1436
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  resVal = (lhs + rhs);</div>
|
|
1437
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">break</span>;</div>
|
|
1438
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
|
|
1439
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
|
|
1440
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  resVal = (lhs - rhs);</div>
|
|
1457
1441
|
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">break</span>;</div>
|
|
1458
|
-
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#
|
|
1459
|
-
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> 
|
|
1460
|
-
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> 
|
|
1461
|
-
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> 
|
|
1462
|
-
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> 
|
|
1463
|
-
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> 
|
|
1464
|
-
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordflow">
|
|
1465
|
-
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> 
|
|
1466
|
-
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> 
|
|
1467
|
-
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> 
|
|
1468
|
-
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> 
|
|
1469
|
-
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="
|
|
1470
|
-
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> 
|
|
1471
|
-
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> 
|
|
1442
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
|
|
1443
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
|
|
1444
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  resVal = (lhs * rhs);</div>
|
|
1445
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">break</span>;</div>
|
|
1446
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
|
|
1447
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
|
|
1448
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
|
|
1449
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  resVal = (lhs / rhs);</div>
|
|
1450
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">break</span>;</div>
|
|
1451
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
|
|
1452
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
|
|
1453
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
|
|
1454
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  resVal = (lhs % rhs);</div>
|
|
1455
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">break</span>;</div>
|
|
1456
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
|
|
1457
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  resVal = (lhs ^ rhs);</div>
|
|
1458
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">break</span>;</div>
|
|
1459
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
|
|
1460
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  resVal = (lhs & rhs);</div>
|
|
1461
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">break</span>;</div>
|
|
1462
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
|
|
1463
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  resVal = (lhs | rhs);</div>
|
|
1464
|
+
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">break</span>;</div>
|
|
1465
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
|
|
1466
|
+
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  resVal = (lhs >> rhs);</div>
|
|
1467
|
+
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">break</span>;</div>
|
|
1468
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
|
|
1469
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  resVal = (lhs << rhs);</div>
|
|
1470
|
+
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">break</span>;</div>
|
|
1471
|
+
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
|
|
1472
|
+
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  resVal = (lhs >> rhs);</div>
|
|
1473
|
+
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">break</span>;</div>
|
|
1474
|
+
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">default</span>:</div>
|
|
1475
|
+
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  {</div>
|
|
1476
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined binary: "</span>);</div>
|
|
1477
|
+
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  }</div>
|
|
1478
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  }</div>
|
|
1479
|
+
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
|
|
1480
|
+
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  }</div>
|
|
1481
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> }</div>
|
|
1472
1482
|
</div><!-- fragment -->
|
|
1473
1483
|
</div>
|
|
1474
1484
|
</div>
|
|
@@ -1564,20 +1574,20 @@ Private Attributes</h2></td></tr>
|
|
|
1564
1574
|
</table>
|
|
1565
1575
|
</div><div class="memdoc">
|
|
1566
1576
|
|
|
1567
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1568
|
-
<div class="fragment"><div class="line"><a name="
|
|
1569
|
-
<div class="line"><a name="
|
|
1570
|
-
<div class="line"><a name="
|
|
1571
|
-
<div class="line"><a name="
|
|
1572
|
-
<div class="line"><a name="
|
|
1573
|
-
<div class="line"><a name="
|
|
1574
|
-
<div class="line"><a name="
|
|
1575
|
-
<div class="line"><a name="
|
|
1576
|
-
<div class="line"><a name="
|
|
1577
|
-
<div class="line"><a name="
|
|
1578
|
-
<div class="line"><a name="
|
|
1579
|
-
<div class="line"><a name="
|
|
1580
|
-
<div class="line"><a name="
|
|
1577
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00973">973</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1578
|
+
<div class="fragment"><div class="line"><a name="l00974"></a><span class="lineno"> 974</span> {</div>
|
|
1579
|
+
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
1580
|
+
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
1581
|
+
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
|
|
1582
|
+
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  {</div>
|
|
1583
|
+
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
|
|
1584
|
+
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  }</div>
|
|
1585
|
+
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
|
|
1586
|
+
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  {</div>
|
|
1587
|
+
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
|
|
1588
|
+
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
|
|
1589
|
+
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  }</div>
|
|
1590
|
+
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> }</div>
|
|
1581
1591
|
</div><!-- fragment -->
|
|
1582
1592
|
</div>
|
|
1583
1593
|
</div>
|
|
@@ -1630,189 +1640,189 @@ Private Attributes</h2></td></tr>
|
|
|
1630
1640
|
</table>
|
|
1631
1641
|
</div><div class="memdoc">
|
|
1632
1642
|
|
|
1633
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1634
|
-
<div class="fragment"><div class="line"><a name="
|
|
1635
|
-
<div class="line"><a name="
|
|
1636
|
-
<div class="line"><a name="
|
|
1637
|
-
<div class="line"><a name="
|
|
1638
|
-
<div class="line"><a name="
|
|
1639
|
-
<div class="line"><a name="
|
|
1640
|
-
<div class="line"><a name="
|
|
1641
|
-
<div class="line"><a name="
|
|
1642
|
-
<div class="line"><a name="
|
|
1643
|
-
<div class="line"><a name="
|
|
1644
|
-
<div class="line"><a name="
|
|
1645
|
-
<div class="line"><a name="
|
|
1646
|
-
<div class="line"><a name="
|
|
1647
|
-
<div class="line"><a name="
|
|
1648
|
-
<div class="line"><a name="
|
|
1649
|
-
<div class="line"><a name="
|
|
1650
|
-
<div class="line"><a name="
|
|
1651
|
-
<div class="line"><a name="
|
|
1652
|
-
<div class="line"><a name="
|
|
1653
|
-
<div class="line"><a name="
|
|
1654
|
-
<div class="line"><a name="
|
|
1655
|
-
<div class="line"><a name="
|
|
1656
|
-
<div class="line"><a name="
|
|
1657
|
-
<div class="line"><a name="
|
|
1658
|
-
<div class="line"><a name="
|
|
1659
|
-
<div class="line"><a name="
|
|
1660
|
-
<div class="line"><a name="
|
|
1661
|
-
<div class="line"><a name="
|
|
1662
|
-
<div class="line"><a name="
|
|
1663
|
-
<div class="line"><a name="
|
|
1664
|
-
<div class="line"><a name="
|
|
1665
|
-
<div class="line"><a name="
|
|
1666
|
-
<div class="line"><a name="
|
|
1667
|
-
<div class="line"><a name="
|
|
1668
|
-
<div class="line"><a name="
|
|
1669
|
-
<div class="line"><a name="
|
|
1670
|
-
<div class="line"><a name="
|
|
1671
|
-
<div class="line"><a name="
|
|
1672
|
-
<div class="line"><a name="
|
|
1673
|
-
<div class="line"><a name="
|
|
1674
|
-
<div class="line"><a name="
|
|
1675
|
-
<div class="line"><a name="
|
|
1676
|
-
<div class="line"><a name="
|
|
1677
|
-
<div class="line"><a name="
|
|
1678
|
-
<div class="line"><a name="
|
|
1679
|
-
<div class="line"><a name="
|
|
1680
|
-
<div class="line"><a name="
|
|
1681
|
-
<div class="line"><a name="
|
|
1682
|
-
<div class="line"><a name="
|
|
1683
|
-
<div class="line"><a name="
|
|
1684
|
-
<div class="line"><a name="
|
|
1685
|
-
<div class="line"><a name="
|
|
1686
|
-
<div class="line"><a name="
|
|
1687
|
-
<div class="line"><a name="
|
|
1688
|
-
<div class="line"><a name="
|
|
1689
|
-
<div class="line"><a name="
|
|
1690
|
-
<div class="line"><a name="
|
|
1691
|
-
<div class="line"><a name="
|
|
1692
|
-
<div class="line"><a name="
|
|
1693
|
-
<div class="line"><a name="
|
|
1694
|
-
<div class="line"><a name="
|
|
1695
|
-
<div class="line"><a name="
|
|
1696
|
-
<div class="line"><a name="
|
|
1697
|
-
<div class="line"><a name="
|
|
1698
|
-
<div class="line"><a name="
|
|
1699
|
-
<div class="line"><a name="
|
|
1700
|
-
<div class="line"><a name="
|
|
1701
|
-
<div class="line"><a name="
|
|
1702
|
-
<div class="line"><a name="
|
|
1703
|
-
<div class="line"><a name="
|
|
1704
|
-
<div class="line"><a name="
|
|
1705
|
-
<div class="line"><a name="
|
|
1706
|
-
<div class="line"><a name="
|
|
1707
|
-
<div class="line"><a name="
|
|
1708
|
-
<div class="line"><a name="
|
|
1709
|
-
<div class="line"><a name="
|
|
1710
|
-
<div class="line"><a name="
|
|
1711
|
-
<div class="line"><a name="
|
|
1712
|
-
<div class="line"><a name="
|
|
1713
|
-
<div class="line"><a name="
|
|
1714
|
-
<div class="line"><a name="
|
|
1715
|
-
<div class="line"><a name="
|
|
1716
|
-
<div class="line"><a name="
|
|
1717
|
-
<div class="line"><a name="
|
|
1718
|
-
<div class="line"><a name="
|
|
1719
|
-
<div class="line"><a name="
|
|
1720
|
-
<div class="line"><a name="
|
|
1721
|
-
<div class="line"><a name="
|
|
1722
|
-
<div class="line"><a name="
|
|
1723
|
-
<div class="line"><a name="
|
|
1724
|
-
<div class="line"><a name="
|
|
1725
|
-
<div class="line"><a name="
|
|
1726
|
-
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  {</div>
|
|
1727
|
-
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
|
|
1728
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  }</div>
|
|
1729
|
-
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">else</span></div>
|
|
1730
|
-
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  {</div>
|
|
1731
|
-
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
|
|
1732
|
-
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  {</div>
|
|
1733
|
-
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1734
|
-
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  }</div>
|
|
1735
|
-
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">else</span></div>
|
|
1736
|
-
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  {</div>
|
|
1737
|
-
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
1738
|
-
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  }</div>
|
|
1739
|
-
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  }</div>
|
|
1740
|
-
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keywordflow">break</span>;</div>
|
|
1741
|
-
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  }</div>
|
|
1742
|
-
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
|
|
1743
|
-
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
|
|
1744
|
-
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
|
|
1745
|
-
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
|
|
1746
|
-
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  {</div>
|
|
1747
|
-
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1748
|
-
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  {</div>
|
|
1749
|
-
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() > *rhs.begin());</div>
|
|
1750
|
-
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  }</div>
|
|
1751
|
-
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">else</span></div>
|
|
1643
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00596">596</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1644
|
+
<div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span> {</div>
|
|
1645
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
|
|
1646
|
+
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
|
|
1647
|
+
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
1648
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
|
|
1649
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  {</div>
|
|
1650
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
1651
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
|
|
1652
|
+
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keyword">auto</span> predicate = cmp-><a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
|
|
1653
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">switch</span> (predicate)</div>
|
|
1654
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  {</div>
|
|
1655
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
|
|
1656
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
|
|
1657
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
|
|
1658
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  resVal = (lhs == rhs);</div>
|
|
1659
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">break</span>;</div>
|
|
1660
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
|
|
1661
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
|
|
1662
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
|
|
1663
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  resVal = (lhs != rhs);</div>
|
|
1664
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">break</span>;</div>
|
|
1665
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
|
|
1666
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
|
|
1667
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
|
|
1668
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
|
|
1669
|
+
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  resVal = (lhs > rhs);</div>
|
|
1670
|
+
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">break</span>;</div>
|
|
1671
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
|
|
1672
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
|
|
1673
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
|
|
1674
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
|
|
1675
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  resVal = (lhs >= rhs);</div>
|
|
1676
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keywordflow">break</span>;</div>
|
|
1677
|
+
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
|
|
1678
|
+
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
|
|
1679
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
|
|
1680
|
+
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
|
|
1681
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  resVal = (lhs < rhs);</div>
|
|
1682
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">break</span>;</div>
|
|
1683
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
|
|
1684
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
|
|
1685
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
|
|
1686
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
|
|
1687
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  resVal = (lhs <= rhs);</div>
|
|
1688
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">break</span>;</div>
|
|
1689
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
|
|
1690
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
1691
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">break</span>;</div>
|
|
1692
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
|
|
1693
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
1694
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">break</span>;</div>
|
|
1695
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">default</span>:</div>
|
|
1696
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  {</div>
|
|
1697
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined compare: "</span>);</div>
|
|
1698
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }</div>
|
|
1699
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  }</div>
|
|
1700
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
|
|
1701
|
+
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  }</div>
|
|
1702
|
+
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
|
|
1703
|
+
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div>
|
|
1704
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
1705
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
|
|
1706
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  assert(!lhs.empty() && !rhs.empty() && <span class="stringliteral">"empty address?"</span>);</div>
|
|
1707
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keyword">auto</span> predicate = cmp-><a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
|
|
1708
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="keywordflow">switch</span> (predicate)</div>
|
|
1709
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  {</div>
|
|
1710
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
|
|
1711
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
|
|
1712
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
|
|
1713
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  {</div>
|
|
1714
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1715
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  {</div>
|
|
1716
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
|
|
1717
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  }</div>
|
|
1718
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">else</span></div>
|
|
1719
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  {</div>
|
|
1720
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
|
|
1721
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  {</div>
|
|
1722
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1723
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  }</div>
|
|
1724
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keywordflow">else</span></div>
|
|
1725
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  {</div>
|
|
1726
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
|
|
1727
|
+
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  }</div>
|
|
1728
|
+
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  }</div>
|
|
1729
|
+
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">break</span>;</div>
|
|
1730
|
+
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  }</div>
|
|
1731
|
+
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
|
|
1732
|
+
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
|
|
1733
|
+
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
|
|
1734
|
+
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  {</div>
|
|
1735
|
+
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1752
1736
|
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  {</div>
|
|
1753
|
-
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html
|
|
1737
|
+
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
|
|
1754
1738
|
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  }</div>
|
|
1755
|
-
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keywordflow">
|
|
1756
|
-
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> 
|
|
1757
|
-
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> 
|
|
1758
|
-
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> 
|
|
1759
|
-
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> 
|
|
1760
|
-
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> 
|
|
1761
|
-
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> 
|
|
1762
|
-
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> 
|
|
1763
|
-
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> 
|
|
1764
|
-
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> 
|
|
1739
|
+
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keywordflow">else</span></div>
|
|
1740
|
+
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  {</div>
|
|
1741
|
+
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
|
|
1742
|
+
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  {</div>
|
|
1743
|
+
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1744
|
+
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  }</div>
|
|
1745
|
+
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordflow">else</span></div>
|
|
1746
|
+
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  {</div>
|
|
1747
|
+
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
1748
|
+
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  }</div>
|
|
1765
1749
|
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  }</div>
|
|
1766
|
-
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">
|
|
1767
|
-
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> 
|
|
1768
|
-
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> 
|
|
1769
|
-
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> 
|
|
1770
|
-
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> 
|
|
1771
|
-
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> 
|
|
1772
|
-
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> 
|
|
1773
|
-
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> 
|
|
1774
|
-
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> 
|
|
1775
|
-
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> 
|
|
1776
|
-
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> 
|
|
1777
|
-
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">
|
|
1750
|
+
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">break</span>;</div>
|
|
1751
|
+
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  }</div>
|
|
1752
|
+
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
|
|
1753
|
+
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
|
|
1754
|
+
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
|
|
1755
|
+
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
|
|
1756
|
+
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  {</div>
|
|
1757
|
+
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1758
|
+
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  {</div>
|
|
1759
|
+
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() > *rhs.begin());</div>
|
|
1760
|
+
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  }</div>
|
|
1761
|
+
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">else</span></div>
|
|
1778
1762
|
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  {</div>
|
|
1779
|
-
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(
|
|
1763
|
+
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1780
1764
|
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  }</div>
|
|
1781
|
-
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">
|
|
1782
|
-
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> 
|
|
1783
|
-
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> 
|
|
1784
|
-
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> 
|
|
1785
|
-
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> 
|
|
1786
|
-
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> 
|
|
1787
|
-
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> 
|
|
1788
|
-
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> 
|
|
1789
|
-
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> 
|
|
1790
|
-
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> 
|
|
1791
|
-
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> 
|
|
1792
|
-
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordflow">
|
|
1765
|
+
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">break</span>;</div>
|
|
1766
|
+
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  }</div>
|
|
1767
|
+
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
|
|
1768
|
+
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
|
|
1769
|
+
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
|
|
1770
|
+
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
|
|
1771
|
+
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  {</div>
|
|
1772
|
+
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1773
|
+
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  {</div>
|
|
1774
|
+
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() >= *rhs.begin());</div>
|
|
1775
|
+
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  }</div>
|
|
1776
|
+
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordflow">else</span></div>
|
|
1793
1777
|
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  {</div>
|
|
1794
|
-
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(
|
|
1778
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1795
1779
|
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  }</div>
|
|
1796
|
-
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">
|
|
1797
|
-
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> 
|
|
1798
|
-
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> 
|
|
1799
|
-
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> 
|
|
1800
|
-
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> 
|
|
1801
|
-
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> 
|
|
1802
|
-
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> 
|
|
1803
|
-
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> 
|
|
1804
|
-
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> 
|
|
1805
|
-
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> 
|
|
1806
|
-
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> 
|
|
1807
|
-
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">
|
|
1808
|
-
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> 
|
|
1809
|
-
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> 
|
|
1810
|
-
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> 
|
|
1811
|
-
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> 
|
|
1780
|
+
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">break</span>;</div>
|
|
1781
|
+
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  }</div>
|
|
1782
|
+
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
|
|
1783
|
+
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
|
|
1784
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
|
|
1785
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
|
|
1786
|
+
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  {</div>
|
|
1787
|
+
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1788
|
+
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  {</div>
|
|
1789
|
+
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() < *rhs.begin());</div>
|
|
1790
|
+
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  }</div>
|
|
1791
|
+
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">else</span></div>
|
|
1792
|
+
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  {</div>
|
|
1793
|
+
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1794
|
+
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  }</div>
|
|
1795
|
+
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">break</span>;</div>
|
|
1812
1796
|
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  }</div>
|
|
1813
|
-
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="
|
|
1814
|
-
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> 
|
|
1815
|
-
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> 
|
|
1797
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
|
|
1798
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
|
|
1799
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
|
|
1800
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
|
|
1801
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  {</div>
|
|
1802
|
+
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">if</span> (lhs.size() == 1 && rhs.size() == 1)</div>
|
|
1803
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  {</div>
|
|
1804
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() <= *rhs.begin());</div>
|
|
1805
|
+
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  }</div>
|
|
1806
|
+
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keywordflow">else</span></div>
|
|
1807
|
+
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  {</div>
|
|
1808
|
+
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1809
|
+
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  }</div>
|
|
1810
|
+
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">break</span>;</div>
|
|
1811
|
+
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  }</div>
|
|
1812
|
+
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
|
|
1813
|
+
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
1814
|
+
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">break</span>;</div>
|
|
1815
|
+
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
|
|
1816
|
+
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
1817
|
+
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">break</span>;</div>
|
|
1818
|
+
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">default</span>:</div>
|
|
1819
|
+
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  {</div>
|
|
1820
|
+
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined compare: "</span>);</div>
|
|
1821
|
+
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  }</div>
|
|
1822
|
+
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  }</div>
|
|
1823
|
+
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
|
|
1824
|
+
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  }</div>
|
|
1825
|
+
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> }</div>
|
|
1816
1826
|
</div><!-- fragment -->
|
|
1817
1827
|
</div>
|
|
1818
1828
|
</div>
|
|
@@ -1909,27 +1919,27 @@ Private Attributes</h2></td></tr>
|
|
|
1909
1919
|
</table>
|
|
1910
1920
|
</div><div class="memdoc">
|
|
1911
1921
|
|
|
1912
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1913
|
-
<div class="fragment"><div class="line"><a name="
|
|
1914
|
-
<div class="line"><a name="
|
|
1915
|
-
<div class="line"><a name="
|
|
1916
|
-
<div class="line"><a name="
|
|
1917
|
-
<div class="line"><a name="
|
|
1918
|
-
<div class="line"><a name="
|
|
1919
|
-
<div class="line"><a name="
|
|
1920
|
-
<div class="line"><a name="
|
|
1921
|
-
<div class="line"><a name="
|
|
1922
|
-
<div class="line"><a name="
|
|
1923
|
-
<div class="line"><a name="
|
|
1924
|
-
<div class="line"><a name="
|
|
1925
|
-
<div class="line"><a name="
|
|
1926
|
-
<div class="line"><a name="
|
|
1927
|
-
<div class="line"><a name="
|
|
1928
|
-
<div class="line"><a name="
|
|
1929
|
-
<div class="line"><a name="
|
|
1930
|
-
<div class="line"><a name="
|
|
1931
|
-
<div class="line"><a name="
|
|
1932
|
-
<div class="line"><a name="
|
|
1922
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00855">855</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1923
|
+
<div class="fragment"><div class="line"><a name="l00856"></a><span class="lineno"> 856</span> {</div>
|
|
1924
|
+
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getLHSVarID();</div>
|
|
1925
|
+
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getRHSVarID();</div>
|
|
1926
|
+
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()->isBlkPtr(lhs))</div>
|
|
1927
|
+
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  {</div>
|
|
1928
|
+
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
1929
|
+
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  }</div>
|
|
1930
|
+
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keywordflow">else</span></div>
|
|
1931
|
+
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  {</div>
|
|
1932
|
+
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
|
|
1933
|
+
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  {</div>
|
|
1934
|
+
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
|
|
1935
|
+
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  }</div>
|
|
1936
|
+
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
|
|
1937
|
+
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  {</div>
|
|
1938
|
+
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
|
|
1939
|
+
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
|
|
1940
|
+
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  }</div>
|
|
1941
|
+
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  }</div>
|
|
1942
|
+
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> }</div>
|
|
1933
1943
|
</div><!-- fragment -->
|
|
1934
1944
|
</div>
|
|
1935
1945
|
</div>
|
|
@@ -1982,37 +1992,31 @@ Private Attributes</h2></td></tr>
|
|
|
1982
1992
|
</table>
|
|
1983
1993
|
</div><div class="memdoc">
|
|
1984
1994
|
|
|
1985
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1986
|
-
<div class="fragment"><div class="line"><a name="
|
|
1987
|
-
<div class="line"><a name="
|
|
1988
|
-
<div class="line"><a name="
|
|
1989
|
-
<div class="line"><a name="
|
|
1990
|
-
<div class="line"><a name="
|
|
1991
|
-
<div class="line"><a name="
|
|
1992
|
-
<div class="line"><a name="
|
|
1993
|
-
<div class="line"><a name="
|
|
1994
|
-
<div class="line"><a name="
|
|
1995
|
-
<div class="line"><a name="
|
|
1996
|
-
<div class="line"><a name="
|
|
1997
|
-
<div class="line"><a name="
|
|
1998
|
-
<div class="line"><a name="
|
|
1999
|
-
<div class="line"><a name="
|
|
2000
|
-
<div class="line"><a name="
|
|
2001
|
-
<div class="line"><a name="
|
|
2002
|
-
<div class="line"><a name="
|
|
2003
|
-
<div class="line"><a name="
|
|
2004
|
-
<div class="line"><a name="
|
|
2005
|
-
<div class="line"><a name="
|
|
2006
|
-
<div class="line"><a name="
|
|
2007
|
-
<div class="line"><a name="
|
|
2008
|
-
<div class="line"><a name="
|
|
2009
|
-
<div class="line"><a name="
|
|
2010
|
-
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  }</div>
|
|
2011
|
-
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
|
|
2012
|
-
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
|
|
2013
|
-
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="keywordflow">return</span>;</div>
|
|
2014
|
-
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  }</div>
|
|
2015
|
-
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> }</div>
|
|
1995
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00877">877</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
1996
|
+
<div class="fragment"><div class="line"><a name="l00878"></a><span class="lineno"> 878</span> {</div>
|
|
1997
|
+
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
1998
|
+
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
1999
|
+
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
|
|
2000
|
+
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
|
|
2001
|
+
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
|
|
2002
|
+
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
|
|
2003
|
+
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a>(gep);</div>
|
|
2004
|
+
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
|
|
2005
|
+
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keywordflow">return</span>;</div>
|
|
2006
|
+
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordflow">else</span></div>
|
|
2007
|
+
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  {</div>
|
|
2008
|
+
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
|
|
2009
|
+
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> lb = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
|
|
2010
|
+
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
2011
|
+
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
|
|
2012
|
+
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
2013
|
+
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = lb; i <= ub; i++)</div>
|
|
2014
|
+
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(rhs, i));</div>
|
|
2015
|
+
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
|
|
2016
|
+
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
|
|
2017
|
+
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="keywordflow">return</span>;</div>
|
|
2018
|
+
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  }</div>
|
|
2019
|
+
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> }</div>
|
|
2016
2020
|
</div><!-- fragment -->
|
|
2017
2021
|
</div>
|
|
2018
2022
|
</div>
|
|
@@ -2032,51 +2036,51 @@ Private Attributes</h2></td></tr>
|
|
|
2032
2036
|
</table>
|
|
2033
2037
|
</div><div class="memdoc">
|
|
2034
2038
|
|
|
2035
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2036
|
-
<div class="fragment"><div class="line"><a name="
|
|
2037
|
-
<div class="line"><a name="
|
|
2038
|
-
<div class="line"><a name="
|
|
2039
|
-
<div class="line"><a name="
|
|
2040
|
-
<div class="line"><a name="
|
|
2041
|
-
<div class="line"><a name="
|
|
2042
|
-
<div class="line"><a name="
|
|
2043
|
-
<div class="line"><a name="
|
|
2044
|
-
<div class="line"><a name="
|
|
2045
|
-
<div class="line"><a name="
|
|
2046
|
-
<div class="line"><a name="
|
|
2047
|
-
<div class="line"><a name="
|
|
2048
|
-
<div class="line"><a name="
|
|
2049
|
-
<div class="line"><a name="
|
|
2050
|
-
<div class="line"><a name="
|
|
2051
|
-
<div class="line"><a name="
|
|
2052
|
-
<div class="line"><a name="
|
|
2053
|
-
<div class="line"><a name="
|
|
2054
|
-
<div class="line"><a name="
|
|
2055
|
-
<div class="line"><a name="
|
|
2056
|
-
<div class="line"><a name="
|
|
2057
|
-
<div class="line"><a name="
|
|
2058
|
-
<div class="line"><a name="
|
|
2059
|
-
<div class="line"><a name="
|
|
2060
|
-
<div class="line"><a name="
|
|
2061
|
-
<div class="line"><a name="
|
|
2062
|
-
<div class="line"><a name="
|
|
2063
|
-
<div class="line"><a name="
|
|
2064
|
-
<div class="line"><a name="
|
|
2065
|
-
<div class="line"><a name="
|
|
2066
|
-
<div class="line"><a name="
|
|
2067
|
-
<div class="line"><a name="
|
|
2068
|
-
<div class="line"><a name="
|
|
2069
|
-
<div class="line"><a name="
|
|
2070
|
-
<div class="line"><a name="
|
|
2071
|
-
<div class="line"><a name="
|
|
2072
|
-
<div class="line"><a name="
|
|
2073
|
-
<div class="line"><a name="
|
|
2074
|
-
<div class="line"><a name="
|
|
2075
|
-
<div class="line"><a name="
|
|
2076
|
-
<div class="line"><a name="
|
|
2077
|
-
<div class="line"><a name="
|
|
2078
|
-
<div class="line"><a name="
|
|
2079
|
-
<div class="line"><a name="
|
|
2039
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00780">780</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
2040
|
+
<div class="fragment"><div class="line"><a name="l00781"></a><span class="lineno"> 781</span> {</div>
|
|
2041
|
+
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
2042
|
+
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
2043
|
+
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
|
|
2044
|
+
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div>
|
|
2045
|
+
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
|
|
2046
|
+
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  assert(!addrs.empty());</div>
|
|
2047
|
+
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
2048
|
+
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
|
|
2049
|
+
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordtype">bool</span> isItv = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
|
|
2050
|
+
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
2051
|
+
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  {</div>
|
|
2052
|
+
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
|
|
2053
|
+
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
|
|
2054
|
+
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  {</div>
|
|
2055
|
+
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
|
|
2056
|
+
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  isItv = <span class="keyword">true</span>;</div>
|
|
2057
|
+
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  }</div>
|
|
2058
|
+
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
|
|
2059
|
+
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  {</div>
|
|
2060
|
+
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
|
|
2061
|
+
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  isAddr = <span class="keyword">true</span>;</div>
|
|
2062
|
+
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  }</div>
|
|
2063
|
+
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordflow">else</span></div>
|
|
2064
|
+
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  {</div>
|
|
2065
|
+
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="comment">// rhs not in table</span></div>
|
|
2066
|
+
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  }</div>
|
|
2067
|
+
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  }</div>
|
|
2068
|
+
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">if</span> (isItv)</div>
|
|
2069
|
+
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  {</div>
|
|
2070
|
+
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment">// lhs var is an integer</span></div>
|
|
2071
|
+
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = rhsItv;</div>
|
|
2072
|
+
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  }</div>
|
|
2073
|
+
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
|
|
2074
|
+
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  {</div>
|
|
2075
|
+
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="comment">// lhs var is an address</span></div>
|
|
2076
|
+
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = rhsAddr;</div>
|
|
2077
|
+
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  }</div>
|
|
2078
|
+
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">else</span></div>
|
|
2079
|
+
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  {</div>
|
|
2080
|
+
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="comment">// rhs not in table</span></div>
|
|
2081
|
+
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  }</div>
|
|
2082
|
+
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  }</div>
|
|
2083
|
+
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
|
|
2080
2084
|
</div><!-- fragment -->
|
|
2081
2085
|
</div>
|
|
2082
2086
|
</div>
|
|
@@ -2129,39 +2133,46 @@ Private Attributes</h2></td></tr>
|
|
|
2129
2133
|
</table>
|
|
2130
2134
|
</div><div class="memdoc">
|
|
2131
2135
|
|
|
2132
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2133
|
-
<div class="fragment"><div class="line"><a name="
|
|
2134
|
-
<div class="line"><a name="
|
|
2135
|
-
<div class="line"><a name="
|
|
2136
|
-
<div class="line"><a name="
|
|
2137
|
-
<div class="line"><a name="
|
|
2138
|
-
<div class="line"><a name="
|
|
2139
|
-
<div class="line"><a name="
|
|
2140
|
-
<div class="line"><a name="
|
|
2141
|
-
<div class="line"><a name="
|
|
2142
|
-
<div class="line"><a name="
|
|
2143
|
-
<div class="line"><a name="
|
|
2144
|
-
<div class="line"><a name="
|
|
2145
|
-
<div class="line"><a name="
|
|
2146
|
-
<div class="line"><a name="
|
|
2147
|
-
<div class="line"><a name="
|
|
2148
|
-
<div class="line"><a name="
|
|
2149
|
-
<div class="line"><a name="
|
|
2150
|
-
<div class="line"><a name="
|
|
2151
|
-
<div class="line"><a name="
|
|
2152
|
-
<div class="line"><a name="
|
|
2153
|
-
<div class="line"><a name="
|
|
2154
|
-
<div class="line"><a name="
|
|
2155
|
-
<div class="line"><a name="
|
|
2156
|
-
<div class="line"><a name="
|
|
2157
|
-
<div class="line"><a name="
|
|
2158
|
-
<div class="line"><a name="
|
|
2159
|
-
<div class="line"><a name="
|
|
2160
|
-
<div class="line"><a name="
|
|
2161
|
-
<div class="line"><a name="
|
|
2162
|
-
<div class="line"><a name="
|
|
2163
|
-
<div class="line"><a name="
|
|
2164
|
-
<div class="line"><a name="
|
|
2136
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00931">931</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
2137
|
+
<div class="fragment"><div class="line"><a name="l00932"></a><span class="lineno"> 932</span> {</div>
|
|
2138
|
+
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
2139
|
+
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
2140
|
+
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
|
|
2141
|
+
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordtype">bool</span> isItv = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
|
|
2142
|
+
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
|
|
2143
|
+
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  {</div>
|
|
2144
|
+
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
|
|
2145
|
+
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
|
|
2146
|
+
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  {</div>
|
|
2147
|
+
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId]);</div>
|
|
2148
|
+
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  isItv = <span class="keyword">true</span>;</div>
|
|
2149
|
+
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  }</div>
|
|
2150
|
+
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
|
|
2151
|
+
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  {</div>
|
|
2152
|
+
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
|
|
2153
|
+
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId));</div>
|
|
2154
|
+
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  isAddr = <span class="keyword">true</span>;</div>
|
|
2155
|
+
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  }</div>
|
|
2156
|
+
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keywordflow">else</span></div>
|
|
2157
|
+
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  {</div>
|
|
2158
|
+
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="comment">// rhs not in the table</span></div>
|
|
2159
|
+
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  }</div>
|
|
2160
|
+
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  }</div>
|
|
2161
|
+
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keywordflow">if</span> (isItv)</div>
|
|
2162
|
+
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  {</div>
|
|
2163
|
+
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment">// res var is an integer</span></div>
|
|
2164
|
+
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = rhsItv;</div>
|
|
2165
|
+
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  }</div>
|
|
2166
|
+
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
|
|
2167
|
+
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  {</div>
|
|
2168
|
+
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="comment">// res var is an address</span></div>
|
|
2169
|
+
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = rhsAddr;</div>
|
|
2170
|
+
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  }</div>
|
|
2171
|
+
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="keywordflow">else</span></div>
|
|
2172
|
+
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  {</div>
|
|
2173
|
+
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="comment">// rhs not in table</span></div>
|
|
2174
|
+
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  }</div>
|
|
2175
|
+
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> }</div>
|
|
2165
2176
|
</div><!-- fragment -->
|
|
2166
2177
|
</div>
|
|
2167
2178
|
</div>
|
|
@@ -2250,20 +2261,20 @@ Private Attributes</h2></td></tr>
|
|
|
2250
2261
|
</table>
|
|
2251
2262
|
</div><div class="memdoc">
|
|
2252
2263
|
|
|
2253
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2254
|
-
<div class="fragment"><div class="line"><a name="
|
|
2255
|
-
<div class="line"><a name="
|
|
2256
|
-
<div class="line"><a name="
|
|
2257
|
-
<div class="line"><a name="
|
|
2258
|
-
<div class="line"><a name="
|
|
2259
|
-
<div class="line"><a name="
|
|
2260
|
-
<div class="line"><a name="
|
|
2261
|
-
<div class="line"><a name="
|
|
2262
|
-
<div class="line"><a name="
|
|
2263
|
-
<div class="line"><a name="
|
|
2264
|
-
<div class="line"><a name="
|
|
2265
|
-
<div class="line"><a name="
|
|
2266
|
-
<div class="line"><a name="
|
|
2264
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00988">988</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
2265
|
+
<div class="fragment"><div class="line"><a name="l00989"></a><span class="lineno"> 989</span> {</div>
|
|
2266
|
+
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
2267
|
+
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
2268
|
+
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
|
|
2269
|
+
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  {</div>
|
|
2270
|
+
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
|
|
2271
|
+
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  }</div>
|
|
2272
|
+
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
|
|
2273
|
+
<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  {</div>
|
|
2274
|
+
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
|
|
2275
|
+
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
|
|
2276
|
+
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  }</div>
|
|
2277
|
+
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
|
|
2267
2278
|
</div><!-- fragment -->
|
|
2268
2279
|
</div>
|
|
2269
2280
|
</div>
|
|
@@ -2316,33 +2327,33 @@ Private Attributes</h2></td></tr>
|
|
|
2316
2327
|
</table>
|
|
2317
2328
|
</div><div class="memdoc">
|
|
2318
2329
|
|
|
2319
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2320
|
-
<div class="fragment"><div class="line"><a name="
|
|
2321
|
-
<div class="line"><a name="
|
|
2322
|
-
<div class="line"><a name="
|
|
2323
|
-
<div class="line"><a name="
|
|
2324
|
-
<div class="line"><a name="
|
|
2325
|
-
<div class="line"><a name="
|
|
2326
|
-
<div class="line"><a name="
|
|
2327
|
-
<div class="line"><a name="
|
|
2328
|
-
<div class="line"><a name="
|
|
2329
|
-
<div class="line"><a name="
|
|
2330
|
-
<div class="line"><a name="
|
|
2331
|
-
<div class="line"><a name="
|
|
2332
|
-
<div class="line"><a name="
|
|
2333
|
-
<div class="line"><a name="
|
|
2334
|
-
<div class="line"><a name="
|
|
2335
|
-
<div class="line"><a name="
|
|
2336
|
-
<div class="line"><a name="
|
|
2337
|
-
<div class="line"><a name="
|
|
2338
|
-
<div class="line"><a name="
|
|
2339
|
-
<div class="line"><a name="
|
|
2340
|
-
<div class="line"><a name="
|
|
2341
|
-
<div class="line"><a name="
|
|
2342
|
-
<div class="line"><a name="
|
|
2343
|
-
<div class="line"><a name="
|
|
2344
|
-
<div class="line"><a name="
|
|
2345
|
-
<div class="line"><a name="
|
|
2330
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00903">903</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
2331
|
+
<div class="fragment"><div class="line"><a name="l00904"></a><span class="lineno"> 904</span> {</div>
|
|
2332
|
+
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
2333
|
+
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-><a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2334
|
+
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-><a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2335
|
+
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-><a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2336
|
+
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
|
|
2337
|
+
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  {</div>
|
|
2338
|
+
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
|
|
2339
|
+
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  {</div>
|
|
2340
|
+
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
|
|
2341
|
+
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  }</div>
|
|
2342
|
+
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordflow">else</span></div>
|
|
2343
|
+
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  {</div>
|
|
2344
|
+
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
|
|
2345
|
+
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  }</div>
|
|
2346
|
+
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  }</div>
|
|
2347
|
+
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) && <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
|
|
2348
|
+
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  {</div>
|
|
2349
|
+
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
|
|
2350
|
+
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  {</div>
|
|
2351
|
+
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
|
|
2352
|
+
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
|
|
2353
|
+
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
|
|
2354
|
+
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  }</div>
|
|
2355
|
+
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  }</div>
|
|
2356
|
+
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> }</div>
|
|
2346
2357
|
</div><!-- fragment -->
|
|
2347
2358
|
</div>
|
|
2348
2359
|
</div>
|
|
@@ -2404,34 +2415,34 @@ Private Attributes</h2></td></tr>
|
|
|
2404
2415
|
</table>
|
|
2405
2416
|
</div><div class="memdoc">
|
|
2406
2417
|
|
|
2407
|
-
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2408
|
-
<div class="fragment"><div class="line"><a name="
|
|
2409
|
-
<div class="line"><a name="
|
|
2410
|
-
<div class="line"><a name="
|
|
2411
|
-
<div class="line"><a name="
|
|
2412
|
-
<div class="line"><a name="
|
|
2413
|
-
<div class="line"><a name="
|
|
2414
|
-
<div class="line"><a name="
|
|
2415
|
-
<div class="line"><a name="
|
|
2416
|
-
<div class="line"><a name="
|
|
2417
|
-
<div class="line"><a name="
|
|
2418
|
-
<div class="line"><a name="
|
|
2419
|
-
<div class="line"><a name="
|
|
2420
|
-
<div class="line"><a name="
|
|
2421
|
-
<div class="line"><a name="
|
|
2422
|
-
<div class="line"><a name="
|
|
2423
|
-
<div class="line"><a name="
|
|
2424
|
-
<div class="line"><a name="
|
|
2425
|
-
<div class="line"><a name="
|
|
2426
|
-
<div class="line"><a name="
|
|
2427
|
-
<div class="line"><a name="
|
|
2428
|
-
<div class="line"><a name="
|
|
2429
|
-
<div class="line"><a name="
|
|
2430
|
-
<div class="line"><a name="
|
|
2431
|
-
<div class="line"><a name="
|
|
2432
|
-
<div class="line"><a name="
|
|
2433
|
-
<div class="line"><a name="
|
|
2434
|
-
<div class="line"><a name="
|
|
2418
|
+
<p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00826">826</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
|
|
2419
|
+
<div class="fragment"><div class="line"><a name="l00827"></a><span class="lineno"> 827</span> {</div>
|
|
2420
|
+
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
2421
|
+
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
2422
|
+
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
|
|
2423
|
+
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  {</div>
|
|
2424
|
+
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
|
|
2425
|
+
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  {</div>
|
|
2426
|
+
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
|
|
2427
|
+
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
|
|
2428
|
+
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
2429
|
+
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  {</div>
|
|
2430
|
+
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
|
|
2431
|
+
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  }</div>
|
|
2432
|
+
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  }</div>
|
|
2433
|
+
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
|
|
2434
|
+
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  {</div>
|
|
2435
|
+
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
|
|
2436
|
+
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
|
|
2437
|
+
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
2438
|
+
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  {</div>
|
|
2439
|
+
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
|
|
2440
|
+
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
|
|
2441
|
+
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  }</div>
|
|
2442
|
+
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  </div>
|
|
2443
|
+
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  }</div>
|
|
2444
|
+
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  }</div>
|
|
2445
|
+
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> }</div>
|
|
2435
2446
|
</div><!-- fragment -->
|
|
2436
2447
|
</div>
|
|
2437
2448
|
</div>
|
|
@@ -2666,104 +2677,104 @@ Private Attributes</h2></td></tr>
|
|
|
2666
2677
|
</ul>
|
|
2667
2678
|
</div><!-- contents -->
|
|
2668
2679
|
<div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
|
|
2669
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2680
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00904">SVFStatements.h:904</a></div></div>
|
|
2670
2681
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVF::SVFType::SVFArrayTy</a></div><div class="ttdeci">@ SVFArrayTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00257">SVFType.h:257</a></div></div>
|
|
2671
|
-
<div class="ttc" id="aclassSVF_1_1AddressValue_html_a77d6a1706328d86b210b26bacaf2fa9f"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a77d6a1706328d86b210b26bacaf2fa9f">SVF::AddressValue::setBottom</a></div><div class="ttdeci">void setBottom()</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00197">AddressValue.h:197</a></div></div>
|
|
2672
2682
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae48cc31474d2c1cbc581b8f7ed433a14"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">SVF::SVFIR2ItvExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00174">SVFIR2ItvExeState.h:174</a></div></div>
|
|
2673
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2674
|
-
<div class="ttc" id="
|
|
2675
|
-
<div class="ttc" id="
|
|
2683
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00985">SVFStatements.h:985</a></div></div>
|
|
2684
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a28a7ca818584abdc2d345b41d592c5dc"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">SVF::GepStmt::accumulateConstantByteOffset</a></div><div class="ttdeci">APOffset accumulateConstantByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00510">SVFStatements.h:510</a></div></div>
|
|
2685
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00979">SVFStatements.h:979</a></div></div>
|
|
2686
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00983">SVFStatements.h:983</a></div></div>
|
|
2676
2687
|
<div class="ttc" id="aclassSVF_1_1RelExeState_html_a3a2d5de4c61fab8b277308a186795a13"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">SVF::RelExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &loc, const Z3Expr &value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00169">RelExeState.cpp:169</a></div></div>
|
|
2677
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2678
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2688
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00894">SVFStatements.h:894</a></div></div>
|
|
2689
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00863">SVFStatements.h:863</a></div></div>
|
|
2679
2690
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2b6de5a37851f83ed3fa8f69145148a8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a></div><div class="ttdeci">ExeState::VAddrs VAddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00044">SVFIR2ItvExeState.h:44</a></div></div>
|
|
2680
|
-
<div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
2681
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed7fc3951608972b6f8fdce14b4a0cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair< APOffset, APOffset > getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00241">SVFIR2ItvExeState.cpp:241</a></div></div>
|
|
2691
|
+
<div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00351">SVFType.h:351</a></div></div>
|
|
2682
2692
|
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a5c6efcc023e90ef2e618586091958c59"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">SVF::MultiOpndStmt::getOpVarID</a></div><div class="ttdeci">NodeID getOpVarID(u32_t pos) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00284">SVFStatements.cpp:284</a></div></div>
|
|
2683
2693
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_acad5216bdc02a234d57abfe9ae72a12a"><div class="ttname"><a href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">SVF::AddressValue::join_with</a></div><div class="ttdeci">bool join_with(const AddressValue &other)</div><div class="ttdoc">Current AddressValue joins with another AddressValue.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00139">AddressValue.h:139</a></div></div>
|
|
2684
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2694
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00890">SVFStatements.h:890</a></div></div>
|
|
2685
2695
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00138">IRGraph.h:138</a></div></div>
|
|
2686
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2696
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00895">SVFStatements.h:895</a></div></div>
|
|
2687
2697
|
<div class="ttc" id="aclassSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00315">SVFVariables.h:315</a></div></div>
|
|
2688
2698
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral & lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
|
|
2689
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2699
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
|
|
2690
2700
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVF::SVFType::SVFIntegerTy</a></div><div class="ttdeci">@ SVFIntegerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00254">SVFType.h:254</a></div></div>
|
|
2691
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2701
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00991">SVFStatements.h:991</a></div></div>
|
|
2692
2702
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a75d5dfbc8252ef0994951af32aa53b74"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a75d5dfbc8252ef0994951af32aa53b74">SVF::SVFIR2ItvExeState::globalNullVaddrs</a></div><div class="ttdeci">static VAddrs globalNullVaddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00045">SVFIR2ItvExeState.h:45</a></div></div>
|
|
2693
2703
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00264">ExeState.h:264</a></div></div>
|
|
2694
2704
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab5eebce09b695a3ea1a1c6d5641296e2"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">SVF::SVFIR2ItvExeState::inLocToIValTable</a></div><div class="ttdeci">bool inLocToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00122">SVFIR2ItvExeState.h:122</a></div></div>
|
|
2695
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2705
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00976">SVFStatements.h:976</a></div></div>
|
|
2696
2706
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a4359c73e131a44f899c694fad25b7e1a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">SVF::SVFIR2ItvExeState::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00200">SVFIR2ItvExeState.h:200</a></div></div>
|
|
2697
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2707
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
|
|
2698
2708
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a65be64fc3b46b3d8e0c22d8a478df5cb"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">SVF::IntervalExeState::store</a></div><div class="ttdeci">void store(u32_t addr, const IntervalValue &val)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00297">IntervalExeState.h:297</a></div></div>
|
|
2699
2709
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ae28249f952e1aa620b23e946a1f209ab"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">SVF::IntervalExeState::load</a></div><div class="ttdeci">IntervalValue & load(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00305">IntervalExeState.h:305</a></div></div>
|
|
2700
2710
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_a69895af213955ea1ba29812bfddcea66"><div class="ttname"><a href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">SVF::ExeState::_varToVAddrs</a></div><div class="ttdeci">VarToVAddrs _varToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00172">ExeState.h:172</a></div></div>
|
|
2701
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2702
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2711
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00990">SVFStatements.h:990</a></div></div>
|
|
2712
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00986">SVFStatements.h:986</a></div></div>
|
|
2703
2713
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
2704
2714
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_aad0556739ce5b173054c81cbbfff4b72"><div class="ttname"><a href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">SVF::ExeState::storeVAddrs</a></div><div class="ttdeci">virtual void storeVAddrs(u32_t addr, const VAddrs &vaddrs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00151">ExeState.h:151</a></div></div>
|
|
2705
2715
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
|
|
2706
2716
|
<div class="ttc" id="aclassSVF_1_1RelExeState_html_a8045abc5e96d0c7b373587c796180d3e"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a8045abc5e96d0c7b373587c796180d3e">SVF::RelExeState::toZ3Expr</a></div><div class="ttdeci">virtual Z3Expr toZ3Expr(u32_t varId) const</div><div class="ttdoc">Return Z3 expression lazily based on SVFVar ID.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00150">RelExeState.h:150</a></div></div>
|
|
2707
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2708
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2709
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2710
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2711
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aab58bfb31793026bc54b8996371e90f4"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair< APOffset, APOffset > getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00179">SVFIR2ItvExeState.cpp:179</a></div></div>
|
|
2717
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00891">SVFStatements.h:891</a></div></div>
|
|
2718
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00980">SVFStatements.h:980</a></div></div>
|
|
2719
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00982">SVFStatements.h:982</a></div></div>
|
|
2720
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00892">SVFStatements.h:892</a></div></div>
|
|
2712
2721
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a67532bdc1e4a49cf4d9da4b99b38e69a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00158">SVFIR2ItvExeState.cpp:158</a></div></div>
|
|
2713
2722
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
|
|
2714
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2723
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
|
|
2715
2724
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_adb724bd1c3154368c629f4972c503d72"><div class="ttname"><a href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">SVF::ExeState::_locToVAddrs</a></div><div class="ttdeci">VarToVAddrs _locToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00173">ExeState.h:173</a></div></div>
|
|
2716
2725
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a1a4ff4aaaf2573240a318e1b79328cd0"><div class="ttname"><a href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">SVF::MemObj::isConstDataOrConstGlobal</a></div><div class="ttdeci">bool isConstDataOrConstGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00538">SymbolTableInfo.cpp:538</a></div></div>
|
|
2717
2726
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_add123d3c64674d34c6c8973cb82c6270"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">SVF::SVFIR2ItvExeState::getVAddrs</a></div><div class="ttdeci">VAddrs & getVAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00109">SVFIR2ItvExeState.h:109</a></div></div>
|
|
2718
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2727
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00988">SVFStatements.h:988</a></div></div>
|
|
2719
2728
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
2720
2729
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aa9bf42bd6ea06a7e61171244461eb066"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">SVF::IntervalExeState::loadVAddrs</a></div><div class="ttdeci">VAddrs & loadVAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00322">IntervalExeState.h:322</a></div></div>
|
|
2721
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2730
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00987">SVFStatements.h:987</a></div></div>
|
|
2722
2731
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00270">IntervalValue.h:270</a></div></div>
|
|
2723
2732
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
|
|
2724
2733
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
|
|
2725
2734
|
<div class="ttc" id="aclassSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
|
|
2726
2735
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00181">SymbolTableInfo.cpp:181</a></div></div>
|
|
2727
2736
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
|
|
2728
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afed2852aec6793e1943f97ed39dd8d2b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair< APOffset, APOffset > getGepOffset(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00350">SVFIR2ItvExeState.cpp:350</a></div></div>
|
|
2729
2737
|
<div class="ttc" id="aclassSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00262">SVFVariables.h:262</a></div></div>
|
|
2730
2738
|
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00120">NumericLiteral.h:120</a></div></div>
|
|
2731
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2739
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
|
|
2732
2740
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00162">SVFIR2ItvExeState.h:162</a></div></div>
|
|
2733
2741
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a39dead4fe213e3d02b1613debbc86e71"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">SVF::IntervalExeState::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00070">IntervalExeState.h:70</a></div></div>
|
|
2734
2742
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
|
|
2735
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2736
|
-
<div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
2743
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00917">SVFStatements.h:917</a></div></div>
|
|
2744
|
+
<div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00469">SVFType.h:469</a></div></div>
|
|
2737
2745
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
|
|
2746
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ad49576a7192c87d41f4dc923cd3d0efe"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ad49576a7192c87d41f4dc923cd3d0efe">SVF::SVFIR2ItvExeState::getByteOffsetfromGepTypePair</a></div><div class="ttdeci">IntervalValue getByteOffsetfromGepTypePair(const AccessPath::IdxVarAndGepTypePair &gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00201">SVFIR2ItvExeState.cpp:201</a></div></div>
|
|
2738
2747
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5dc699aa85fe879eb4b2c9109cf3030d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">SVF::SymbolTableInfo::getTypeInfo</a></div><div class="ttdeci">const StInfo * getTypeInfo(const SVFType *T) const</div><div class="ttdoc">Get struct info.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00056">SymbolTableInfo.cpp:56</a></div></div>
|
|
2739
2748
|
<div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
2740
2749
|
<div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
|
|
2741
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2742
|
-
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath & getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2743
|
-
<div class="ttc" id="
|
|
2750
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
|
|
2751
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath & getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00491">SVFStatements.h:491</a></div></div>
|
|
2752
|
+
<div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
|
|
2753
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00975">SVFStatements.h:975</a></div></div>
|
|
2744
2754
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3b417ee79560fd00f4cf80906044c198"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">SVF::IRGraph::getBlkPtr</a></div><div class="ttdeci">NodeID getBlkPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00170">IRGraph.h:170</a></div></div>
|
|
2745
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2755
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00855">SVFStatements.h:855</a></div></div>
|
|
2746
2756
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac72e3ae77e06e0dfc7c2edd2bf765d77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">SVF::IntervalExeState::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00068">IntervalExeState.h:68</a></div></div>
|
|
2747
2757
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVF::SVFType::SVFFunctionTy</a></div><div class="ttdeci">@ SVFFunctionTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00255">SVFType.h:255</a></div></div>
|
|
2748
|
-
<div class="ttc" id="aclassSVF_1_1GepStmt_html_afe5ae814b71b59fc03bd672d62a5fab7"><div class="ttname"><a href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">APOffset 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#
|
|
2749
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2758
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_afe5ae814b71b59fc03bd672d62a5fab7"><div class="ttname"><a href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">APOffset 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#l00521">SVFStatements.h:521</a></div></div>
|
|
2759
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
|
|
2750
2760
|
<div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00955">SVFValue.h:955</a></div></div>
|
|
2751
2761
|
<div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00989">SVFValue.h:989</a></div></div>
|
|
2752
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2762
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00978">SVFStatements.h:978</a></div></div>
|
|
2753
2763
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral & ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
|
|
2754
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2755
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2756
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2757
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2764
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00899">SVFStatements.h:899</a></div></div>
|
|
2765
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00909">SVFStatements.h:909</a></div></div>
|
|
2766
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00896">SVFStatements.h:896</a></div></div>
|
|
2767
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00901">SVFStatements.h:901</a></div></div>
|
|
2758
2768
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
2769
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6e4e3eeca9d25fb5eab496faeb6264c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndex</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndex(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00387">SVFIR2ItvExeState.cpp:387</a></div></div>
|
|
2759
2770
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b1b163493a74a31d30a261128edd05"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">SVF::IntervalExeState::globalES</a></div><div class="ttdeci">static IntervalExeState globalES</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00064">IntervalExeState.h:64</a></div></div>
|
|
2760
2771
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
|
|
2761
|
-
<div class="ttc" id="aclassSVF_1_1GepStmt_html_acce9e813dbca30e0264dac6c89ea72af"><div class="ttname"><a href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::OffsetVarAndGepTypePairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00494">SVFStatements.h:494</a></div></div>
|
|
2762
2772
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af61110c081ca71f9348e8dfff5aa76e4"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">SVF::IntervalExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00186">IntervalExeState.h:186</a></div></div>
|
|
2763
2773
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
|
|
2764
|
-
<div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2774
|
+
<div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00802">SVFStatements.h:802</a></div></div>
|
|
2765
2775
|
<div class="ttc" id="aclassSVF_1_1RelExeState_html_aa550a580be3278d19f759b3a644baea5"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">SVF::RelExeState::load</a></div><div class="ttdeci">Z3Expr & load(const Z3Expr &loc)</div><div class="ttdoc">Load value at location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00182">RelExeState.cpp:182</a></div></div>
|
|
2766
2776
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
2777
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_ab6f37c073e4755c4b8bb3ed6365687f4"><div class="ttname"><a href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">SVF::GepStmt::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00501">SVFStatements.h:501</a></div></div>
|
|
2767
2778
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
|
|
2768
2779
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a2f70e9c830b18f25c56b530722f106c4"><div class="ttname"><a href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">SVF::MemObj::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get the reference value to this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00406">SymbolTableInfo.h:406</a></div></div>
|
|
2769
2780
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8107e336e3a84fd3b7341786db7e7a13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">SVF::SVFIR2ItvExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00117">SVFIR2ItvExeState.h:117</a></div></div>
|
|
@@ -2772,59 +2783,63 @@ Private Attributes</h2></td></tr>
|
|
|
2772
2783
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3de9a2a565c303f68a90c32dc59febd5"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">SVF::IRGraph::getNullPtr</a></div><div class="ttdeci">NodeID getNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00174">IRGraph.h:174</a></div></div>
|
|
2773
2784
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00270">ExeState.h:270</a></div></div>
|
|
2774
2785
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_a40c67147606ab95dd3318d0fe821d8c0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">SVF::AddressValue::insert</a></div><div class="ttdeci">std::pair< AddressValue::AddrSet::iterator, bool > insert(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00123">AddressValue.h:123</a></div></div>
|
|
2775
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2786
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00977">SVFStatements.h:977</a></div></div>
|
|
2776
2787
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
|
|
2777
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2788
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00893">SVFStatements.h:893</a></div></div>
|
|
2778
2789
|
<div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
|
|
2779
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2780
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2790
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00900">SVFStatements.h:900</a></div></div>
|
|
2791
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00984">SVFStatements.h:984</a></div></div>
|
|
2781
2792
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a4e3e495118c907a29d7705904273f6d3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">SVF::IntervalExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00203">IntervalExeState.h:203</a></div></div>
|
|
2782
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2793
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00910">SVFStatements.h:910</a></div></div>
|
|
2783
2794
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00533">SymbolTableInfo.cpp:533</a></div></div>
|
|
2784
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2785
|
-
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
2795
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00947">SVFStatements.h:947</a></div></div>
|
|
2796
|
+
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01272">LLVMUtil.cpp:1272</a></div></div>
|
|
2797
|
+
<div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00041">AddressValue.h:41</a></div></div>
|
|
2786
2798
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a884199a26d43d09bc7e33369fceb8274"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a884199a26d43d09bc7e33369fceb8274">SVF::IntervalExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00163">IntervalExeState.h:163</a></div></div>
|
|
2787
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2799
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00859">SVFStatements.h:859</a></div></div>
|
|
2788
2800
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_ae18425df0631aefca7dd4b799f6f524a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const APOffset &ap)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00422">SVFIR.cpp:422</a></div></div>
|
|
2789
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2801
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00491">SVFIR2ItvExeState.cpp:491</a></div></div>
|
|
2790
2802
|
<div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
2791
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2803
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01017">SVFStatements.h:1017</a></div></div>
|
|
2792
2804
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00201">SVFIR2ItvExeState.h:201</a></div></div>
|
|
2793
2805
|
<div class="ttc" id="aclassSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00353">SVFVariables.h:353</a></div></div>
|
|
2794
2806
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
2795
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2807
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00459">SVFIR2ItvExeState.cpp:459</a></div></div>
|
|
2796
2808
|
<div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
2797
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2809
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00981">SVFStatements.h:981</a></div></div>
|
|
2798
2810
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
|
|
2799
|
-
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2811
|
+
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00726">SVFStatements.h:726</a></div></div>
|
|
2800
2812
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aeac953e77360627da7426b2619d509cc"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aeac953e77360627da7426b2619d509cc">SVF::IntervalExeState::inLocToIValTable</a></div><div class="ttdeci">bool inLocToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00175">IntervalExeState.h:175</a></div></div>
|
|
2801
2813
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
|
|
2802
2814
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
|
|
2803
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2815
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00918">SVFStatements.h:918</a></div></div>
|
|
2804
2816
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad485a35730353c0e945bc84a034d9e45"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00169">IntervalExeState.h:169</a></div></div>
|
|
2805
2817
|
<div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option< u32_t > MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
|
|
2806
2818
|
<div class="ttc" id="anamespaceSVF_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="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
2807
2819
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ab6f95d3e7e099d75cfc9645ebc037047"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdoc">Return type of the value.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00107">SVFVariables.h:107</a></div></div>
|
|
2808
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2820
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
|
|
2809
2821
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00132">SVFIR2ItvExeState.h:132</a></div></div>
|
|
2810
2822
|
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00289">SVFStatements.cpp:289</a></div></div>
|
|
2823
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a0572909694bf47d9448a0f1e5e14a50b"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a0572909694bf47d9448a0f1e5e14a50b">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::IdxVarAndGepTypePairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00496">SVFStatements.h:496</a></div></div>
|
|
2811
2824
|
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
|
|
2825
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00263">IntervalValue.h:263</a></div></div>
|
|
2826
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a678a5278fd485eea65093add11b8a7c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a678a5278fd485eea65093add11b8a7c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndexFromGepTypePair</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndexFromGepTypePair(const AccessPath::IdxVarAndGepTypePair &gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00268">SVFIR2ItvExeState.cpp:268</a></div></div>
|
|
2812
2827
|
<div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
|
|
2813
2828
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_a2f01e583abcdeb236a11e85c7a8aafdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00258">ExeState.h:258</a></div></div>
|
|
2814
|
-
<div class="ttc" id="
|
|
2815
|
-
<div class="ttc" id="
|
|
2816
|
-
<div class="ttc" id="
|
|
2829
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00911">SVFStatements.h:911</a></div></div>
|
|
2830
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00989">SVFStatements.h:989</a></div></div>
|
|
2831
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00345">IntervalValue.h:345</a></div></div>
|
|
2817
2832
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVF::SVFType::SVFStructTy</a></div><div class="ttdeci">@ SVFStructTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00256">SVFType.h:256</a></div></div>
|
|
2818
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2833
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00905">SVFStatements.h:905</a></div></div>
|
|
2819
2834
|
<div class="ttc" id="anamespaceSVF_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="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
2820
2835
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a0c4be1dd8e7a2877c0cc76c404f6945a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">SVF::SVFIR2ItvExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00168">SVFIR2ItvExeState.h:168</a></div></div>
|
|
2821
2836
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_a55e5fd85f232c1867c5c6a73646d53eb"><div class="ttname"><a href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">SVF::StInfo::getFlattenedElemIdxVec</a></div><div class="ttdeci">std::vector< u32_t > & getFlattenedElemIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00184">SVFType.h:184</a></div></div>
|
|
2822
2837
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
|
|
2823
2838
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a36e15d9d95908b74fcf321e30a9cdebe"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">SVF::IntervalExeState::getVAddrs</a></div><div class="ttdeci">VAddrs & getVAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00154">IntervalExeState.h:154</a></div></div>
|
|
2824
2839
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00528">SymbolTableInfo.cpp:528</a></div></div>
|
|
2825
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
2840
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00974">SVFStatements.h:974</a></div></div>
|
|
2826
2841
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00127">SVFIR2ItvExeState.h:127</a></div></div>
|
|
2827
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
2842
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00423">SVFIR2ItvExeState.cpp:423</a></div></div>
|
|
2828
2843
|
<!-- start footer part -->
|
|
2829
2844
|
<hr class="footer"/><address class="footer"><small>
|
|
2830
2845
|
Generated by  <a href="http://www.doxygen.org/index.html">
|