svf-tools 1.0.615 → 1.0.617
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +31 -31
- package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +27 -26
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +27 -26
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +0 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +16 -20
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +68 -69
- package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8h_source.html +3 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +188 -189
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +52 -53
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +85 -87
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +43 -44
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +13 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +52 -53
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +56 -57
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +53 -54
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +27 -28
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +96 -120
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +33 -34
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +31 -32
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +4 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +34 -35
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +110 -110
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +60 -61
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +47 -48
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -6
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +56 -57
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -23
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +82 -81
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +139 -102
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +46 -47
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +47 -48
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +76 -77
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -5
- package/SVF-doxygen/html/html/classes.html +99 -99
- package/SVF-doxygen/html/html/dir_967d846b666a902c6ca9bc5c37976e49.html +0 -2
- package/SVF-doxygen/html/html/files.html +5 -6
- package/SVF-doxygen/html/html/functions_0x7e.html +0 -3
- package/SVF-doxygen/html/html/functions_a.html +9 -15
- package/SVF-doxygen/html/html/functions_b.html +5 -2
- package/SVF-doxygen/html/html/functions_c.html +1 -1
- package/SVF-doxygen/html/html/functions_func.html +11 -17
- package/SVF-doxygen/html/html/functions_func_0x7e.html +0 -3
- package/SVF-doxygen/html/html/functions_func_b.html +4 -1
- package/SVF-doxygen/html/html/functions_func_g.html +8 -11
- package/SVF-doxygen/html/html/functions_func_i.html +7 -10
- package/SVF-doxygen/html/html/functions_func_p.html +2 -29
- package/SVF-doxygen/html/html/functions_func_r.html +3 -9
- package/SVF-doxygen/html/html/functions_func_w.html +5 -8
- package/SVF-doxygen/html/html/functions_g.html +14 -17
- package/SVF-doxygen/html/html/functions_i.html +15 -18
- package/SVF-doxygen/html/html/functions_m.html +1 -4
- package/SVF-doxygen/html/html/functions_o.html +12 -12
- package/SVF-doxygen/html/html/functions_p.html +17 -45
- package/SVF-doxygen/html/html/functions_r.html +3 -11
- package/SVF-doxygen/html/html/functions_s.html +17 -15
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_type_c.html +1 -1
- package/SVF-doxygen/html/html/functions_type_i.html +2 -2
- package/SVF-doxygen/html/html/functions_type_v.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +7 -7
- package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_p.html +0 -3
- package/SVF-doxygen/html/html/functions_w.html +4 -7
- package/SVF-doxygen/html/html/hierarchy.html +194 -195
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +0 -2
- package/SVF-doxygen/html/html/search/all_1.js +0 -2
- package/SVF-doxygen/html/html/search/all_10.js +6 -16
- package/SVF-doxygen/html/html/search/all_11.js +1 -3
- package/SVF-doxygen/html/html/search/all_12.js +12 -12
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +2 -3
- package/SVF-doxygen/html/html/search/all_19.js +0 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +0 -1
- package/SVF-doxygen/html/html/search/all_9.js +6 -8
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +3 -4
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/classes_8.js +0 -1
- package/SVF-doxygen/html/html/search/files_7.js +0 -1
- package/SVF-doxygen/html/html/search/functions_0.js +0 -2
- package/SVF-doxygen/html/html/search/functions_1.js +1 -0
- package/SVF-doxygen/html/html/search/functions_10.js +0 -2
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_15.js +1 -2
- package/SVF-doxygen/html/html/search/functions_17.js +0 -1
- package/SVF-doxygen/html/html/search/functions_6.js +0 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -2
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +0 -9
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_7.js +3 -3
- package/SVF-doxygen/html/html/search/variables_10.js +0 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_d.js +0 -1
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/include/Graphs/ConsG.h +1 -1
- package/include/Graphs/GenericGraph.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/VFG.h +1 -1
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -2
- package/include/SVF-LLVM/LLVMModule.h +1 -0
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +87 -63
- package/lib/SVF-LLVM/LLVMModule.cpp +11 -2
- package/lib/WPA/Andersen.cpp +9 -2
- package/package.json +1 -1
- package/include/SVF-LLVM/IRAnnotator.h +0 -324
|
@@ -508,7 +508,7 @@ class SVF::CondPTAImpl< Cond ></h3>
|
|
|
508
508
|
|
|
509
509
|
<p>Pointer analysis implementation which uses conditional points-to map data structure (context/path sensitive analysis) </p>
|
|
510
510
|
|
|
511
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
511
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00235">235</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
512
512
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
513
513
|
<a id="a3f2f48fc122c07ff9eb1382aa7a3f966"></a>
|
|
514
514
|
<h2 class="memtitle"><span class="permalink"><a href="#a3f2f48fc122c07ff9eb1382aa7a3f966">◆ </a></span>CPtSet</h2>
|
|
@@ -524,7 +524,7 @@ template<class Cond> </div>
|
|
|
524
524
|
</table>
|
|
525
525
|
</div><div class="memdoc">
|
|
526
526
|
|
|
527
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
527
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00240">240</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
528
528
|
|
|
529
529
|
</div>
|
|
530
530
|
</div>
|
|
@@ -542,7 +542,7 @@ template<class Cond> </div>
|
|
|
542
542
|
</table>
|
|
543
543
|
</div><div class="memdoc">
|
|
544
544
|
|
|
545
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
545
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00239">239</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
546
546
|
|
|
547
547
|
</div>
|
|
548
548
|
</div>
|
|
@@ -560,7 +560,7 @@ template<class Cond> </div>
|
|
|
560
560
|
</table>
|
|
561
561
|
</div><div class="memdoc">
|
|
562
562
|
|
|
563
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
563
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00242">242</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
564
564
|
|
|
565
565
|
</div>
|
|
566
566
|
</div>
|
|
@@ -578,7 +578,7 @@ template<class Cond> </div>
|
|
|
578
578
|
</table>
|
|
579
579
|
</div><div class="memdoc">
|
|
580
580
|
|
|
581
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
581
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00241">241</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
582
582
|
|
|
583
583
|
</div>
|
|
584
584
|
</div>
|
|
@@ -596,7 +596,7 @@ template<class Cond> </div>
|
|
|
596
596
|
</table>
|
|
597
597
|
</div><div class="memdoc">
|
|
598
598
|
|
|
599
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
599
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00243">243</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
600
600
|
|
|
601
601
|
</div>
|
|
602
602
|
</div>
|
|
@@ -614,7 +614,7 @@ template<class Cond> </div>
|
|
|
614
614
|
</table>
|
|
615
615
|
</div><div class="memdoc">
|
|
616
616
|
|
|
617
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
617
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00245">245</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
618
618
|
|
|
619
619
|
</div>
|
|
620
620
|
</div>
|
|
@@ -634,7 +634,7 @@ template<class Cond> </div>
|
|
|
634
634
|
|
|
635
635
|
<p>map a pointer to its <a class="el" href="classSVF_1_1BitVector.html">BitVector</a> points-to representation </p>
|
|
636
636
|
|
|
637
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
637
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00244">244</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
638
638
|
|
|
639
639
|
</div>
|
|
640
640
|
</div>
|
|
@@ -678,13 +678,13 @@ template<class Cond> </div>
|
|
|
678
678
|
<p>map a pointer to its conditional points-to set </p>
|
|
679
679
|
<p>Constructor </p>
|
|
680
680
|
|
|
681
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
682
|
-
<div class="fragment"><div class="line"><a name="
|
|
683
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
681
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00248">248</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
682
|
+
<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  : <a class="code" href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">PointerAnalysis</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>, <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>), <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a>(<span class="keyword">false</span>)</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> || <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>();</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no points-to data available"</span>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a14e2a209cb594f91a24ef09b12f82f3f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">SVF::PointerAnalysis::PointerAnalysis</a></div><div class="ttdeci">PointerAnalysis(SVFIR *pag, PTATY ty=Default_PTA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00069">PointerAnalysis.cpp:69</a></div></div>
|
|
683
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00454">PointerAnalysisImpl.h:454</a></div></div>
|
|
684
684
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">SVF::PointerAnalysis::Cxt_DDA</a></div><div class="ttdoc">context sensitive DDA </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00087">PointerAnalysis.h:87</a></div></div>
|
|
685
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
685
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
686
686
|
<div class="ttc" id="cJSON_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>
|
|
687
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
687
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00242">PointerAnalysisImpl.h:242</a></div></div>
|
|
688
688
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00098">PointerAnalysis.h:98</a></div></div>
|
|
689
689
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5d3c3094e263bf16a4f312a118c1bd36"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">SVF::PointerAnalysis::ptaImplTy</a></div><div class="ttdeci">PTAImplTy ptaImplTy</div><div class="ttdoc">PTA implementation type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00148">PointerAnalysis.h:148</a></div></div>
|
|
690
690
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00086">PointerAnalysis.h:86</a></div></div>
|
|
@@ -719,8 +719,8 @@ template<class Cond> </div>
|
|
|
719
719
|
|
|
720
720
|
<p>Destructor. </p>
|
|
721
721
|
|
|
722
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
723
|
-
<div class="fragment"><div class="line"><a name="
|
|
722
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00259">259</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
723
|
+
<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">destroy</a>();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5fa3d986e4ef710a2148b2854167c3ed"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5fa3d986e4ef710a2148b2854167c3ed">SVF::CondPTAImpl::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Release memory. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00270">PointerAnalysisImpl.h:270</a></div></div>
|
|
724
724
|
</div><!-- fragment -->
|
|
725
725
|
</div>
|
|
726
726
|
</div>
|
|
@@ -761,8 +761,8 @@ template<class Cond> </div>
|
|
|
761
761
|
</table>
|
|
762
762
|
</div><div class="memdoc">
|
|
763
763
|
|
|
764
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
765
|
-
<div class="fragment"><div class="line"><a name="
|
|
764
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00372">372</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
765
|
+
<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">addPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
766
766
|
<div class="ttc" id="classSVF_1_1PTData_html_ac1b9dc035fb0bdf468c7d14b9f9d437a"><div class="ttname"><a href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">SVF::PTData::addPts</a></div><div class="ttdeci">virtual bool addPts(const Key &var, const Data &element)=0</div><div class="ttdoc">Adds element to the points-to set associated with var. </div></div>
|
|
767
767
|
</div><!-- fragment -->
|
|
768
768
|
</div>
|
|
@@ -807,9 +807,9 @@ template<class Cond> </div>
|
|
|
807
807
|
|
|
808
808
|
<p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#ae1323233941cdc9b99332e4b954a2217">SVF::PointerAnalysis</a>.</p>
|
|
809
809
|
|
|
810
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
811
|
-
<div class="fragment"><div class="line"><a name="
|
|
812
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a167a232a697976602c2ad0eb6d35c2d6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
810
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00495">495</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
811
|
+
<div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">alias</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(V1),<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(V2));</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><div class="ttc" id="classSVF_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#l00128">IRGraph.h:128</a></div></div>
|
|
812
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a167a232a697976602c2ad0eb6d35c2d6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00495">PointerAnalysisImpl.h:495</a></div></div>
|
|
813
813
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
814
814
|
</div><!-- fragment -->
|
|
815
815
|
</div>
|
|
@@ -854,9 +854,9 @@ template<class Cond> </div>
|
|
|
854
854
|
|
|
855
855
|
<p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#a0f712ead1f31750879948c36b2fc77cf">SVF::PointerAnalysis</a>.</p>
|
|
856
856
|
|
|
857
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
858
|
-
<div class="fragment"><div class="line"><a name="
|
|
859
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a454a998ef5a866f2a6f270e3283c6ebd"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">SVF::CondPTAImpl::getCondPointsTo</a></div><div class="ttdeci">virtual const CPtSet & getCondPointsTo(NodeID ptr)</div><div class="ttdoc">Given a pointer return its conditional points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
857
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00500">500</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
858
|
+
<div class="fragment"><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">getCondPointsTo</a>(node2));</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a167a232a697976602c2ad0eb6d35c2d6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00495">PointerAnalysisImpl.h:495</a></div></div>
|
|
859
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a454a998ef5a866f2a6f270e3283c6ebd"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd">SVF::CondPTAImpl::getCondPointsTo</a></div><div class="ttdeci">virtual const CPtSet & getCondPointsTo(NodeID ptr)</div><div class="ttdoc">Given a pointer return its conditional points-to. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00482">PointerAnalysisImpl.h:482</a></div></div>
|
|
860
860
|
</div><!-- fragment -->
|
|
861
861
|
</div>
|
|
862
862
|
</div>
|
|
@@ -898,9 +898,9 @@ template<class Cond> </div>
|
|
|
898
898
|
|
|
899
899
|
<p>Interface expose to users of our pointer analysis, given conditional variables. </p>
|
|
900
900
|
|
|
901
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
902
|
-
<div class="fragment"><div class="line"><a name="
|
|
903
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a167a232a697976602c2ad0eb6d35c2d6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
901
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00505">505</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
902
|
+
<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">alias</a>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var1),<a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var2));</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet & getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00303">PointerAnalysisImpl.h:303</a></div></div>
|
|
903
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a167a232a697976602c2ad0eb6d35c2d6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a167a232a697976602c2ad0eb6d35c2d6">SVF::CondPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00495">PointerAnalysisImpl.h:495</a></div></div>
|
|
904
904
|
</div><!-- fragment -->
|
|
905
905
|
</div>
|
|
906
906
|
</div>
|
|
@@ -942,15 +942,15 @@ template<class Cond> </div>
|
|
|
942
942
|
|
|
943
943
|
<p>Interface expose to users of our pointer analysis, given two conditional points-to sets. </p>
|
|
944
944
|
|
|
945
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
946
|
-
<div class="fragment"><div class="line"><a name="
|
|
947
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a3f2f48fc122c07ff9eb1382aa7a3f966"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">SVF::CondPTAImpl::CPtSet</a></div><div class="ttdeci">CondStdSet< CVar > CPtSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
945
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00510">510</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
946
|
+
<div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts1;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts1,cpts1);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a> cpts2;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">expandFIObjs</a>(pts2,cpts2);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">containBlackHoleNode</a>(cpts1) || <a class="code" href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">containBlackHoleNode</a>(cpts2))</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(this-><a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</a>()==<a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a> && <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts1,cpts2) && <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts2,cpts1))</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">AliasResult::MustAlias</a>;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div><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_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8">overlap</a>(cpts1,cpts2))</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a87b48287d7edb97fc120200fe0e5218d"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a87b48287d7edb97fc120200fe0e5218d">SVF::CondPTAImpl::expandFIObjs</a></div><div class="ttdeci">void expandFIObjs(const CPtSet &cpts, CPtSet &expandedCpts)</div><div class="ttdoc">Expand all fields of an aggregate in all points-to sets. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00334">PointerAnalysisImpl.h:334</a></div></div>
|
|
947
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a3f2f48fc122c07ff9eb1382aa7a3f966"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">SVF::CondPTAImpl::CPtSet</a></div><div class="ttdeci">CondStdSet< CVar > CPtSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00240">PointerAnalysisImpl.h:240</a></div></div>
|
|
948
948
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00188">PointerAnalysis.h:188</a></div></div>
|
|
949
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_adf0acbb0c605278e43d88787d651bbd8"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8">SVF::CondPTAImpl::overlap</a></div><div class="ttdeci">bool overlap(const CPtSet &cpts1, const CPtSet &cpts2) const</div><div class="ttdoc">Whether cpts1 and cpts2 have overlap points-to targets. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
949
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_adf0acbb0c605278e43d88787d651bbd8"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8">SVF::CondPTAImpl::overlap</a></div><div class="ttdeci">bool overlap(const CPtSet &cpts1, const CPtSet &cpts2) const</div><div class="ttdoc">Whether cpts1 and cpts2 have overlap points-to targets. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00320">PointerAnalysisImpl.h:320</a></div></div>
|
|
950
950
|
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00461">SVFType.h:461</a></div></div>
|
|
951
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &cpts1, const CPtSet &cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
951
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &cpts1, const CPtSet &cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00395">PointerAnalysisImpl.h:395</a></div></div>
|
|
952
952
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00086">PointerAnalysis.h:86</a></div></div>
|
|
953
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a8cd7b08bd978513cb0faacc47bbaf578"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">SVF::CondPTAImpl::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const CPtSet &cpts)</div><div class="ttdoc">Test blk node for cpts. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
953
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a8cd7b08bd978513cb0faacc47bbaf578"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a8cd7b08bd978513cb0faacc47bbaf578">SVF::CondPTAImpl::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const CPtSet &cpts)</div><div class="ttdoc">Test blk node for cpts. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00528">PointerAnalysisImpl.h:528</a></div></div>
|
|
954
954
|
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00460">SVFType.h:460</a></div></div>
|
|
955
955
|
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">SVF::MustAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00462">SVFType.h:462</a></div></div>
|
|
956
956
|
</div><!-- fragment -->
|
|
@@ -982,8 +982,8 @@ template<class Cond> </div>
|
|
|
982
982
|
</table>
|
|
983
983
|
</div><div class="memdoc">
|
|
984
984
|
|
|
985
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
986
|
-
<div class="fragment"><div class="line"><a name="
|
|
985
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00264">264</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
986
|
+
<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">return</span> pta->getImplTy() == <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00098">PointerAnalysis.h:98</a></div></div>
|
|
987
987
|
</div><!-- fragment -->
|
|
988
988
|
</div>
|
|
989
989
|
</div>
|
|
@@ -1014,9 +1014,9 @@ template<class Cond> </div>
|
|
|
1014
1014
|
|
|
1015
1015
|
<p>Clear all data. </p>
|
|
1016
1016
|
|
|
1017
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1018
|
-
<div class="fragment"><div class="line"><a name="
|
|
1019
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1017
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00314">314</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1018
|
+
<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">clear</a>();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div><div class="ttc" id="classSVF_1_1PTData_html_ad45879017d8fdeedc987ce35c4eba1a5"><div class="ttname"><a href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">SVF::PTData::clear</a></div><div class="ttdeci">virtual void clear()=0</div><div class="ttdoc">Clears all points-to sets as if nothing is stored. </div></div>
|
|
1019
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1020
1020
|
</div><!-- fragment -->
|
|
1021
1021
|
</div>
|
|
1022
1022
|
</div>
|
|
@@ -1048,8 +1048,8 @@ template<class Cond> </div>
|
|
|
1048
1048
|
|
|
1049
1049
|
<p>Test blk node for cpts. </p>
|
|
1050
1050
|
|
|
1051
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1052
|
-
<div class="fragment"><div class="line"><a name="
|
|
1051
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00528">528</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1052
|
+
<div class="fragment"><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  {</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  {</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">if</span>(cit->get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">getBlackHoleNode</a>())</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  }</div><div class="ttc" id="classSVF_1_1IRGraph_html_a3ce34b9fcb651689bce44ab48fbcdff0"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">SVF::IRGraph::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00152">IRGraph.h:152</a></div></div>
|
|
1053
1053
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
1054
1054
|
<div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1055
1055
|
</div><!-- fragment -->
|
|
@@ -1083,8 +1083,8 @@ template<class Cond> </div>
|
|
|
1083
1083
|
|
|
1084
1084
|
<p>Test constant node for cpts. </p>
|
|
1085
1085
|
|
|
1086
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1087
|
-
<div class="fragment"><div class="line"><a name="
|
|
1086
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00538">538</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1087
|
+
<div class="fragment"><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  {</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">if</span>(cit->get_id() == <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">getConstantNode</a>())</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  }</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  }</div><div class="ttc" id="classSVF_1_1IRGraph_html_ac5da3a0cbe040a45d719b6f6a23aed91"><div class="ttname"><a href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">SVF::IRGraph::getConstantNode</a></div><div class="ttdeci">NodeID getConstantNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00156">IRGraph.h:156</a></div></div>
|
|
1088
1088
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
1089
1089
|
<div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1090
1090
|
</div><!-- fragment -->
|
|
@@ -1126,9 +1126,9 @@ template<class Cond> </div>
|
|
|
1126
1126
|
</table>
|
|
1127
1127
|
</div><div class="memdoc">
|
|
1128
1128
|
|
|
1129
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1130
|
-
<div class="fragment"><div class="line"><a name="
|
|
1131
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1129
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00395">395</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1130
|
+
<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  {</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (cpts1.empty() || cpts2.empty())</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">for</span> (<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordtype">bool</span> hasObj = <span class="keyword">false</span>;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">for</span> (<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  hasObj = <span class="keyword">true</span>;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">if</span>(hasObj == <span class="keyword">false</span>)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div><div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1131
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00418">PointerAnalysisImpl.h:418</a></div></div>
|
|
1132
1132
|
</div><!-- fragment -->
|
|
1133
1133
|
</div>
|
|
1134
1134
|
</div>
|
|
@@ -1159,8 +1159,8 @@ template<class Cond> </div>
|
|
|
1159
1159
|
|
|
1160
1160
|
<p>Release memory. </p>
|
|
1161
1161
|
|
|
1162
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1163
|
-
<div class="fragment"><div class="line"><a name="
|
|
1162
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00270">270</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1163
|
+
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1164
1164
|
</div><!-- fragment -->
|
|
1165
1165
|
</div>
|
|
1166
1166
|
</div>
|
|
@@ -1193,8 +1193,8 @@ template<class Cond> </div>
|
|
|
1193
1193
|
|
|
1194
1194
|
<p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">SVF::PointerAnalysis</a>.</p>
|
|
1195
1195
|
|
|
1196
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1197
|
-
<div class="fragment"><div class="line"><a name="
|
|
1196
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00463">463</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1197
|
+
<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">dumpPTData</a>();</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1198
1198
|
<div class="ttc" id="classSVF_1_1PTData_html_a91b898e3547eecfbf1ab155d183734bf"><div class="ttname"><a href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">SVF::PTData::dumpPTData</a></div><div class="ttdeci">virtual void dumpPTData()=0</div><div class="ttdoc">Dump stored keys and points-to sets. </div></div>
|
|
1199
1199
|
</div><!-- fragment -->
|
|
1200
1200
|
</div>
|
|
@@ -1228,10 +1228,10 @@ template<class Cond> </div>
|
|
|
1228
1228
|
|
|
1229
1229
|
<p>Reimplemented from <a class="el" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">SVF::PointerAnalysis</a>.</p>
|
|
1230
1230
|
|
|
1231
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1232
|
-
<div class="fragment"><div class="line"><a name="
|
|
1231
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00551">551</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1232
|
+
<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">for</span> (OrderedNodeSet::iterator nIter = this-><a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().begin(); nIter != this-><a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().end(); ++nIter)</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a>* node = this-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*nIter);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()->isValidTopLevelPtr(node))</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">if</span> (SVFUtil::isa<DummyObjVar>(node))</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"##<Blackhole or constant> id:"</span> << node->getId();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SVFUtil::isa<DummyValVar>(node))</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"##<"</span> << node->getValue()->getName() << <span class="stringliteral">"> "</span>;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="comment">//SVFUtil::outs() << "Source Loc: " << SVFUtil::getSourceLoc(node->getValue());</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  }</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keyword">const</span> PointsTo& pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(node->getId());</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\nNodeID "</span> << node->getId() << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (pts.empty())</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\t\tPointsTo: {empty}\n\n"</span>;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  }</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\t\tPointsTo: { "</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">PointsTo::iterator</a> it = pts.begin(), eit = pts.end(); it != eit; ++it)</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << *it << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"}\n\n"</span>;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  }</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  }</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  }</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00218">PointerAnalysis.h:218</a></div></div>
|
|
1233
1233
|
<div class="ttc" id="namespaceSVF_html_a733b44f64a95e6e13e7379120d7a3eea"><div class="ttname"><a href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">SVF::PAGNode</a></div><div class="ttdeci">SVFVar PAGNode</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00042">IRGraph.h:42</a></div></div>
|
|
1234
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet & getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1234
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet & getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00303">PointerAnalysisImpl.h:303</a></div></div>
|
|
1235
1235
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
|
|
1236
1236
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
1237
1237
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ab0493cc85f97abeea5b86dee488e5a7f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">SVF::PointsTo::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00040">PointsTo.h:40</a></div></div>
|
|
@@ -1277,14 +1277,14 @@ template<class Cond> </div>
|
|
|
1277
1277
|
|
|
1278
1278
|
<p>Expand all fields of an aggregate in all points-to sets. </p>
|
|
1279
1279
|
|
|
1280
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1281
|
-
<div class="fragment"><div class="line"><a name="
|
|
1280
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00334">334</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1281
|
+
<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  expandedCpts = cpts;;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(cit->get_id())==cit->get_id())</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a>& fields = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(cit->get_id());</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> it = fields.begin(), eit = fields.end(); it!=eit; ++it)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">CVar</a> cvar(cit->get_cond(),*it);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  expandedCpts.set(cvar);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  }</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  }</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00425">SVFIR.h:425</a></div></div>
|
|
1282
1282
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00667">SparseBitVector.h:667</a></div></div>
|
|
1283
1283
|
<div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
|
|
1284
1284
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS & getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00475">SVFIR.cpp:475</a></div></div>
|
|
1285
1285
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
1286
1286
|
<div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1287
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af71b4ec9844701582d997466c2e4d94f"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">SVF::CondPTAImpl::CVar</a></div><div class="ttdeci">CondVar< Cond > CVar</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1287
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af71b4ec9844701582d997466c2e4d94f"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af71b4ec9844701582d997466c2e4d94f">SVF::CondPTAImpl::CVar</a></div><div class="ttdeci">CondVar< Cond > CVar</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00239">PointerAnalysisImpl.h:239</a></div></div>
|
|
1288
1288
|
</div><!-- fragment -->
|
|
1289
1289
|
</div>
|
|
1290
1290
|
</div>
|
|
@@ -1319,9 +1319,9 @@ template<class Cond> </div>
|
|
|
1319
1319
|
|
|
1320
1320
|
<p>Reimplemented in <a class="el" href="classSVF_1_1ContextDDA.html#ae34cd06ee3b7d763c81ec418af76d244">SVF::ContextDDA</a>.</p>
|
|
1321
1321
|
|
|
1322
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1323
|
-
<div class="fragment"><div class="line"><a name="
|
|
1324
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_aa945d068c8935fc6926833fdf102e21c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">SVF::CondPTAImpl::normalizePointsTo</a></div><div class="ttdeci">virtual void normalizePointsTo()</div><div class="ttdoc">Normalize points-to information to BitVector/conditional representation. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1322
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00354">354</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1323
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">normalizePointsTo</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00179">PointerAnalysis.cpp:179</a></div></div>
|
|
1324
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_aa945d068c8935fc6926833fdf102e21c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#aa945d068c8935fc6926833fdf102e21c">SVF::CondPTAImpl::normalizePointsTo</a></div><div class="ttdeci">virtual void normalizePointsTo()</div><div class="ttdoc">Normalize points-to information to BitVector/conditional representation. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00430">PointerAnalysisImpl.h:430</a></div></div>
|
|
1325
1325
|
</div><!-- fragment -->
|
|
1326
1326
|
</div>
|
|
1327
1327
|
</div>
|
|
@@ -1353,8 +1353,8 @@ template<class Cond> </div>
|
|
|
1353
1353
|
|
|
1354
1354
|
<p>Given a conditional pts return its bit vector points-to. </p>
|
|
1355
1355
|
|
|
1356
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1357
|
-
<div class="fragment"><div class="line"><a name="
|
|
1356
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00468">468</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1357
|
+
<div class="fragment"><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  PointsTo pts;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = cpts.begin(), ecit=cpts.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  pts.set(cit->get_id());</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">return</span> pts;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  }</div><div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1358
1358
|
</div><!-- fragment -->
|
|
1359
1359
|
</div>
|
|
1360
1360
|
</div>
|
|
@@ -1386,9 +1386,9 @@ template<class Cond> </div>
|
|
|
1386
1386
|
|
|
1387
1387
|
<p>Given a pointer return its conditional points-to. </p>
|
|
1388
1388
|
|
|
1389
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1390
|
-
<div class="fragment"><div class="line"><a name="
|
|
1391
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1389
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00482">482</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1390
|
+
<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  assert(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> && <span class="stringliteral">"Pts of all context-vars have to be merged/normalized. Want to use getPts(CVar cvar)??"</span>);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[ptr];</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00460">PointerAnalysisImpl.h:460</a></div></div>
|
|
1391
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00454">PointerAnalysisImpl.h:454</a></div></div>
|
|
1392
1392
|
</div><!-- fragment -->
|
|
1393
1393
|
</div>
|
|
1394
1394
|
</div>
|
|
@@ -1417,10 +1417,10 @@ template<class Cond> </div>
|
|
|
1417
1417
|
</table>
|
|
1418
1418
|
</div><div class="memdoc">
|
|
1419
1419
|
|
|
1420
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1421
|
-
<div class="fragment"><div class="line"><a name="
|
|
1422
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1423
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1420
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00282">282</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1421
|
+
<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>* mut = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a>>(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  assert(mut && <span class="stringliteral">"BVDataPTAImpl::getMutPTDataTy: not a MutPTDataTy!"</span>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> mut;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af6e96694d983643a66c238cce01bff0e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if_t<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type > dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00405">Casting.h:405</a></div></div>
|
|
1422
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1423
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00242">PointerAnalysisImpl.h:242</a></div></div>
|
|
1424
1424
|
</div><!-- fragment -->
|
|
1425
1425
|
</div>
|
|
1426
1426
|
</div>
|
|
@@ -1451,8 +1451,8 @@ template<class Cond> </div>
|
|
|
1451
1451
|
|
|
1452
1452
|
<p>Get points-to data. </p>
|
|
1453
1453
|
|
|
1454
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1455
|
-
<div class="fragment"><div class="line"><a name="
|
|
1454
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00277">277</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1455
|
+
<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1456
1456
|
</div><!-- fragment -->
|
|
1457
1457
|
</div>
|
|
1458
1458
|
</div>
|
|
@@ -1483,9 +1483,9 @@ template<class Cond> </div>
|
|
|
1483
1483
|
</div><div class="memdoc">
|
|
1484
1484
|
<p>Get points-to and reverse points-to </p>
|
|
1485
1485
|
|
|
1486
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1487
|
-
<div class="fragment"><div class="line"><a name="
|
|
1488
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1486
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00303">303</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1487
|
+
<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">getPts</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="ttc" id="classSVF_1_1PTData_html_a9ae6037637d8b9acb323333f491f4a7d"><div class="ttname"><a href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">SVF::PTData::getPts</a></div><div class="ttdeci">virtual const DataSet & getPts(const Key &var)=0</div><div class="ttdoc">Get points-to set of var. </div></div>
|
|
1488
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1489
1489
|
</div><!-- fragment -->
|
|
1490
1490
|
</div>
|
|
1491
1491
|
</div>
|
|
@@ -1519,9 +1519,9 @@ template<class Cond> </div>
|
|
|
1519
1519
|
|
|
1520
1520
|
<p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis</a>.</p>
|
|
1521
1521
|
|
|
1522
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1523
|
-
<div class="fragment"><div class="line"><a name="
|
|
1524
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1522
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00476">476</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1523
|
+
<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  {</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  assert(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> && <span class="stringliteral">"Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??"</span>);</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[ptr];</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00456">PointerAnalysisImpl.h:456</a></div></div>
|
|
1524
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00454">PointerAnalysisImpl.h:454</a></div></div>
|
|
1525
1525
|
</div><!-- fragment -->
|
|
1526
1526
|
</div>
|
|
1527
1527
|
</div>
|
|
@@ -1550,9 +1550,9 @@ template<class Cond> </div>
|
|
|
1550
1550
|
</table>
|
|
1551
1551
|
</div><div class="memdoc">
|
|
1552
1552
|
|
|
1553
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1554
|
-
<div class="fragment"><div class="line"><a name="
|
|
1555
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1553
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00294">294</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1554
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">MutPTDataTy</a> *m = SVFUtil::dyn_cast<MutPTDataTy>(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>)) <span class="keywordflow">return</span> m->getPtsMap();</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"CondPTAImpl::getPtsMap: not a PTData with a PtsMap!"</span>);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  exit(1);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1555
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_af3ae2748edfdefaa08a73930bd012d6c"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af3ae2748edfdefaa08a73930bd012d6c">SVF::CondPTAImpl::MutPTDataTy</a></div><div class="ttdeci">MutablePTData< CVar, Set< CVar >, CVar, CPtSet > MutPTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00242">PointerAnalysisImpl.h:242</a></div></div>
|
|
1556
1556
|
</div><!-- fragment -->
|
|
1557
1557
|
</div>
|
|
1558
1558
|
</div>
|
|
@@ -1582,8 +1582,8 @@ template<class Cond> </div>
|
|
|
1582
1582
|
</table>
|
|
1583
1583
|
</div><div class="memdoc">
|
|
1584
1584
|
|
|
1585
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1586
|
-
<div class="fragment"><div class="line"><a name="
|
|
1585
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00307">307</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1586
|
+
<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">getRevPts</a>(nodeId);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1587
1587
|
<div class="ttc" id="classSVF_1_1PTData_html_ab6146f5582946c08568f3a8d45e57b03"><div class="ttname"><a href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">SVF::PTData::getRevPts</a></div><div class="ttdeci">virtual const KeySet & getRevPts(const Data &datum)=0</div><div class="ttdoc">Get reverse points-to set of a datum. </div></div>
|
|
1588
1588
|
</div><!-- fragment -->
|
|
1589
1589
|
</div>
|
|
@@ -1618,9 +1618,9 @@ template<class Cond> </div>
|
|
|
1618
1618
|
|
|
1619
1619
|
<p>Implements <a class="el" href="classSVF_1_1PointerAnalysis.html#ad9af9655a13f3faeaf265ba370d1f280">SVF::PointerAnalysis</a>.</p>
|
|
1620
1620
|
|
|
1621
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1622
|
-
<div class="fragment"><div class="line"><a name="
|
|
1623
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1621
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00488">488</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1622
|
+
<div class="fragment"><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  assert(<a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> && <span class="stringliteral">"Pts of all context-var have to be merged/normalized. Want to use getPts(CVar cvar)??"</span>);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[obj];</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00458">PointerAnalysisImpl.h:458</a></div></div>
|
|
1623
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00454">PointerAnalysisImpl.h:454</a></div></div>
|
|
1624
1624
|
</div><!-- fragment -->
|
|
1625
1625
|
</div>
|
|
1626
1626
|
</div>
|
|
@@ -1650,8 +1650,8 @@ template<class Cond> </div>
|
|
|
1650
1650
|
</table>
|
|
1651
1651
|
</div><div class="memdoc">
|
|
1652
1652
|
|
|
1653
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1654
|
-
<div class="fragment"><div class="line"><a name="
|
|
1653
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00289">289</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1654
|
+
<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> SVFUtil::isa<MutPTDataTy>(<a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1655
1655
|
</div><!-- fragment -->
|
|
1656
1656
|
</div>
|
|
1657
1657
|
</div>
|
|
@@ -1742,8 +1742,8 @@ template<class Cond> </div>
|
|
|
1742
1742
|
<p>Whether two pointers/objects are the same one by considering their conditions. </p>
|
|
1743
1743
|
<p>we distinguish context sensitive memory allocation here </p>
|
|
1744
1744
|
|
|
1745
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1746
|
-
<div class="fragment"><div class="line"><a name="
|
|
1745
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00418">418</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1746
|
+
<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">if</span>(var1.get_id() != var2.get_id())</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordtype">bool</span> singleton = !(<a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(var1.get_id()) || <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(var1.get_id()));</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">isCondCompatible</a>(var1.get_cond(),var2.get_cond(),singleton);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a6b746c30161c7dab86510895e0032935"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">SVF::CondPTAImpl::isCondCompatible</a></div><div class="ttdeci">virtual bool isCondCompatible(const Cond &cxt1, const Cond &cxt2, bool singleton) const =0</div><div class="ttdoc">Whether two conditions are compatible (to be implemented by child class) </div></div>
|
|
1747
1747
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00312">PointerAnalysis.h:312</a></div></div>
|
|
1748
1748
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00136">PointerAnalysis.cpp:136</a></div></div>
|
|
1749
1749
|
</div><!-- fragment -->
|
|
@@ -1787,14 +1787,14 @@ template<class Cond> </div>
|
|
|
1787
1787
|
|
|
1788
1788
|
<p>Internal interface to be used for conditional points-to set queries. </p>
|
|
1789
1789
|
|
|
1790
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1791
|
-
<div class="fragment"><div class="line"><a name="
|
|
1792
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet & getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1790
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00380">380</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1791
|
+
<div class="fragment"><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  {</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(var1,var2))</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordtype">bool</span> singleton = !(<a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(var1.get_id()) || <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(var1.get_id()));</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">isCondCompatible</a>(var1.get_cond(),var2.get_cond(),singleton) == <span class="keyword">false</span>)</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a>& cpts1 = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var1);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">CPtSet</a>& cpts2 = <a class="code" href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">getPts</a>(var2);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts1,cpts2) && <a class="code" href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">contains</a>(cpts2,cpts1));</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a3f2f48fc122c07ff9eb1382aa7a3f966"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a3f2f48fc122c07ff9eb1382aa7a3f966">SVF::CondPTAImpl::CPtSet</a></div><div class="ttdeci">CondStdSet< CVar > CPtSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00240">PointerAnalysisImpl.h:240</a></div></div>
|
|
1792
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a63fa2b3a96696ffc67a119c1ba5ce748"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748">SVF::CondPTAImpl::getPts</a></div><div class="ttdeci">virtual const CPtSet & getPts(CVar id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00303">PointerAnalysisImpl.h:303</a></div></div>
|
|
1793
1793
|
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a6b746c30161c7dab86510895e0032935"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a6b746c30161c7dab86510895e0032935">SVF::CondPTAImpl::isCondCompatible</a></div><div class="ttdeci">virtual bool isCondCompatible(const Cond &cxt1, const Cond &cxt2, bool singleton) const =0</div><div class="ttdoc">Whether two conditions are compatible (to be implemented by child class) </div></div>
|
|
1794
1794
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00312">PointerAnalysis.h:312</a></div></div>
|
|
1795
1795
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00136">PointerAnalysis.cpp:136</a></div></div>
|
|
1796
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &cpts1, const CPtSet &cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1797
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1796
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a5af00bb26800882ab96c470ee9fc4632"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a5af00bb26800882ab96c470ee9fc4632">SVF::CondPTAImpl::contains</a></div><div class="ttdeci">bool contains(const CPtSet &cpts1, const CPtSet &cpts2)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00395">PointerAnalysisImpl.h:395</a></div></div>
|
|
1797
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00418">PointerAnalysisImpl.h:418</a></div></div>
|
|
1798
1798
|
</div><!-- fragment -->
|
|
1799
1799
|
</div>
|
|
1800
1800
|
</div>
|
|
@@ -1825,13 +1825,13 @@ template<class Cond> </div>
|
|
|
1825
1825
|
|
|
1826
1826
|
<p>Normalize points-to information to BitVector/conditional representation. </p>
|
|
1827
1827
|
|
|
1828
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1829
|
-
<div class="fragment"><div class="line"><a name="
|
|
1830
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a979486e35b529fbc62b2974899627113"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">SVF::CondPTAImpl::getPtsMap</a></div><div class="ttdeci">const MutPTDataTy::PtsMap & getPtsMap() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1831
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1832
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1833
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1834
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a597e9c4e76f358c36d4b820c4d69ebc6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">SVF::CondPTAImpl::hasPtsMap</a></div><div class="ttdeci">bool hasPtsMap(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1828
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00430">430</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1829
|
+
<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">normalized</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">hasPtsMap</a>())</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  {</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">MutPTDataTy::PtsMap</a>& ptsMap = <a class="code" href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">getPtsMap</a>();</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> MutPTDataTy::PtsMap::const_iterator it = ptsMap.begin(), eit=ptsMap.end(); it!=eit; ++it)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">for</span>(<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> cit = it->second.begin(), ecit=it->second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  {</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">ptrToBVPtsMap</a>[(it->first).get_id()].set(cit->get_id());</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">objToNSRevPtsMap</a>[cit->get_id()].insert((it->first).get_id());</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <a class="code" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">ptrToCPtsMap</a>[(it->first).get_id()].set(*cit);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  }</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"CondPTAImpl::NormalizePointsTo: could not normalize points-to sets"</span>);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  }</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_a30b9ee7b1dcd04285f92cf7accd05b2e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl::ptrToBVPtsMap</a></div><div class="ttdeci">PtrToBVPtsMap ptrToBVPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00456">PointerAnalysisImpl.h:456</a></div></div>
|
|
1830
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a979486e35b529fbc62b2974899627113"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113">SVF::CondPTAImpl::getPtsMap</a></div><div class="ttdeci">const MutPTDataTy::PtsMap & getPtsMap() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00294">PointerAnalysisImpl.h:294</a></div></div>
|
|
1831
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a61167fcdb2005090de1b38e53450431a"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl::ptrToCPtsMap</a></div><div class="ttdeci">PtrToCPtsMap ptrToCPtsMap</div><div class="ttdoc">Conditional points-to representation (with conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00460">PointerAnalysisImpl.h:460</a></div></div>
|
|
1832
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a22c23f3ba1ee7e0aaccf0b8a1b58e33e"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a22c23f3ba1ee7e0aaccf0b8a1b58e33e">SVF::CondPTAImpl::objToNSRevPtsMap</a></div><div class="ttdeci">PtrToNSMap objToNSRevPtsMap</div><div class="ttdoc">Normal points-to representation (without conditions) </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00458">PointerAnalysisImpl.h:458</a></div></div>
|
|
1833
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_ab4115f25e2e477bfd73d01f069f47241"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241">SVF::CondPTAImpl::normalized</a></div><div class="ttdeci">bool normalized</div><div class="ttdoc">Normalized flag. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00454">PointerAnalysisImpl.h:454</a></div></div>
|
|
1834
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a597e9c4e76f358c36d4b820c4d69ebc6"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a597e9c4e76f358c36d4b820c4d69ebc6">SVF::CondPTAImpl::hasPtsMap</a></div><div class="ttdeci">bool hasPtsMap(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00289">PointerAnalysisImpl.h:289</a></div></div>
|
|
1835
1835
|
<div class="ttc" id="classSVF_1_1MutablePTData_html_ad74cc6c81c4a95f6ba4e89352bccee3e"><div class="ttname"><a href="classSVF_1_1MutablePTData.html#ad74cc6c81c4a95f6ba4e89352bccee3e">SVF::MutablePTData::PtsMap</a></div><div class="ttdeci">Map< Key, DataSet > PtsMap</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00060">MutablePointsToDS.h:60</a></div></div>
|
|
1836
1836
|
<div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1837
1837
|
</div><!-- fragment -->
|
|
@@ -1875,9 +1875,9 @@ template<class Cond> </div>
|
|
|
1875
1875
|
|
|
1876
1876
|
<p>Whether cpts1 and cpts2 have overlap points-to targets. </p>
|
|
1877
1877
|
|
|
1878
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1879
|
-
<div class="fragment"><div class="line"><a name="
|
|
1880
|
-
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1878
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00320">320</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1879
|
+
<div class="fragment"><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">for</span> (<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> it1 = cpts1.begin(); it1 != cpts1.end(); ++it1)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">for</span> (<span class="keyword">typename</span> <a class="code" href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">CPtSet::const_iterator</a> it2 = cpts2.begin(); it2 != cpts2.end(); ++it2)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">isSameVar</a>(*it1,*it2))</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div><div class="ttc" id="classSVF_1_1CondStdSet_html_a55152b7749868cc25f1c3c33ea57a650"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a55152b7749868cc25f1c3c33ea57a650">SVF::CondStdSet::const_iterator</a></div><div class="ttdeci">OrderedSet< Element >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00137">ConditionalPT.h:137</a></div></div>
|
|
1880
|
+
<div class="ttc" id="classSVF_1_1CondPTAImpl_html_a7a1be735c76ba4a6b235264fe8ec6c28"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a7a1be735c76ba4a6b235264fe8ec6c28">SVF::CondPTAImpl::isSameVar</a></div><div class="ttdeci">bool isSameVar(const CVar &var1, const CVar &var2) const</div><div class="ttdoc">Whether two pointers/objects are the same one by considering their conditions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00418">PointerAnalysisImpl.h:418</a></div></div>
|
|
1881
1881
|
</div><!-- fragment -->
|
|
1882
1882
|
</div>
|
|
1883
1883
|
</div>
|
|
@@ -1918,8 +1918,8 @@ template<class Cond> </div>
|
|
|
1918
1918
|
</div><div class="memdoc">
|
|
1919
1919
|
<p>Union/add points-to, and add the reverse points-to for node collapse purpose To be noted that adding reverse pts might incur 10% total overhead during solving </p>
|
|
1920
1920
|
|
|
1921
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1922
|
-
<div class="fragment"><div class="line"><a name="
|
|
1921
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00362">362</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1922
|
+
<div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>, target);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1923
1923
|
<div class="ttc" id="classSVF_1_1PTData_html_af7aa22f11558c12ff16612174e2221dd"><div class="ttname"><a href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">SVF::PTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const Key &dstVar, const Key &srcVar)=0</div><div class="ttdoc">Performs pts(dstVar) = pts(dstVar) U pts(srcVar). </div></div>
|
|
1924
1924
|
</div><!-- fragment -->
|
|
1925
1925
|
</div>
|
|
@@ -1960,8 +1960,8 @@ template<class Cond> </div>
|
|
|
1960
1960
|
</table>
|
|
1961
1961
|
</div><div class="memdoc">
|
|
1962
1962
|
|
|
1963
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1964
|
-
<div class="fragment"><div class="line"><a name="
|
|
1963
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00367">367</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1964
|
+
<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">ptD</a>-><a class="code" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">unionPts</a>(<span class="keywordtype">id</span>,ptd);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="ttc" id="classSVF_1_1CondPTAImpl_html_af960c10e49932ea5e9dcdd299ff300ce"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#af960c10e49932ea5e9dcdd299ff300ce">SVF::CondPTAImpl::ptD</a></div><div class="ttdeci">PTDataTy * ptD</div><div class="ttdoc">Points-to data. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00452">PointerAnalysisImpl.h:452</a></div></div>
|
|
1965
1965
|
<div class="ttc" id="classSVF_1_1PTData_html_af7aa22f11558c12ff16612174e2221dd"><div class="ttname"><a href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">SVF::PTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const Key &dstVar, const Key &srcVar)=0</div><div class="ttdoc">Performs pts(dstVar) = pts(dstVar) U pts(srcVar). </div></div>
|
|
1966
1966
|
</div><!-- fragment -->
|
|
1967
1967
|
</div>
|
|
@@ -1991,7 +1991,7 @@ template<class Cond> </div>
|
|
|
1991
1991
|
|
|
1992
1992
|
<p>Normalized flag. </p>
|
|
1993
1993
|
|
|
1994
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
1994
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00454">454</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
1995
1995
|
|
|
1996
1996
|
</div>
|
|
1997
1997
|
</div>
|
|
@@ -2019,7 +2019,7 @@ template<class Cond> </div>
|
|
|
2019
2019
|
|
|
2020
2020
|
<p>Normal points-to representation (without conditions) </p>
|
|
2021
2021
|
|
|
2022
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
2022
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00458">458</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
2023
2023
|
|
|
2024
2024
|
</div>
|
|
2025
2025
|
</div>
|
|
@@ -2047,7 +2047,7 @@ template<class Cond> </div>
|
|
|
2047
2047
|
|
|
2048
2048
|
<p>Points-to data. </p>
|
|
2049
2049
|
|
|
2050
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
2050
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00452">452</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
2051
2051
|
|
|
2052
2052
|
</div>
|
|
2053
2053
|
</div>
|
|
@@ -2075,7 +2075,7 @@ template<class Cond> </div>
|
|
|
2075
2075
|
|
|
2076
2076
|
<p>Normal points-to representation (without conditions) </p>
|
|
2077
2077
|
|
|
2078
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
2078
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00456">456</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
2079
2079
|
|
|
2080
2080
|
</div>
|
|
2081
2081
|
</div>
|
|
@@ -2103,7 +2103,7 @@ template<class Cond> </div>
|
|
|
2103
2103
|
|
|
2104
2104
|
<p>Conditional points-to representation (with conditions) </p>
|
|
2105
2105
|
|
|
2106
|
-
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#
|
|
2106
|
+
<p class="definition">Definition at line <a class="el" href="PointerAnalysisImpl_8h_source.html#l00460">460</a> of file <a class="el" href="PointerAnalysisImpl_8h_source.html">PointerAnalysisImpl.h</a>.</p>
|
|
2107
2107
|
|
|
2108
2108
|
</div>
|
|
2109
2109
|
</div>
|