svf-tools 1.0.374 → 1.0.375
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -6
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +13 -13
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
- 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/SVFIR_8cpp_source.html +30 -28
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +63 -65
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +18 -19
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +118 -121
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +20 -13
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +7 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +81 -43
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +45 -47
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -6
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +16 -25
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +17 -26
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +23 -26
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +17 -26
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +18 -27
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +21 -24
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -27
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +19 -28
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +24 -27
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +41 -50
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +28 -37
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +69 -69
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +7 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +124 -174
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +23 -32
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +18 -27
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +181 -187
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +23 -26
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +54 -151
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +10 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +154 -35
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +77 -73
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +21 -24
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +16 -25
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +22 -25
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +18 -27
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +6 -6
- package/SVF-doxygen/html/html/functions_c.html +1 -1
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_c.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +6 -3
- package/SVF-doxygen/html/html/functions_func_i.html +11 -17
- package/SVF-doxygen/html/html/functions_func_o.html +4 -4
- package/SVF-doxygen/html/html/functions_func_r.html +5 -2
- package/SVF-doxygen/html/html/functions_g.html +7 -4
- package/SVF-doxygen/html/html/functions_i.html +12 -21
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +17 -13
- package/SVF-doxygen/html/html/functions_p.html +7 -7
- package/SVF-doxygen/html/html/functions_r.html +10 -7
- package/SVF-doxygen/html/html/functions_rela.html +2 -1
- package/SVF-doxygen/html/html/functions_s.html +15 -12
- package/SVF-doxygen/html/html/functions_t.html +7 -5
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_i.html +3 -6
- package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +10 -10
- package/SVF-doxygen/html/html/search/all_12.js +1 -0
- package/SVF-doxygen/html/html/search/all_13.js +9 -9
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -1
- package/SVF-doxygen/html/html/search/all_9.js +2 -5
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -3
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -0
- package/SVF-doxygen/html/html/search/related_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -2
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
- package/include/MemoryModel/SVFIR.h +4 -36
- package/include/MemoryModel/SVFVariables.h +2 -13
- package/include/MemoryModel/SymbolTableInfo.h +6 -18
- package/include/SVF-FE/SymbolTableBuilder.h +8 -1
- package/lib/MemoryModel/SVFIR.cpp +50 -2
- package/lib/MemoryModel/SVFVariables.cpp +6 -13
- package/lib/MemoryModel/SymbolTableInfo.cpp +21 -48
- package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
- package/lib/SVF-FE/SymbolTableBuilder.cpp +60 -13
- package/lib/WPA/AndersenStat.cpp +1 -1
- package/package.json +1 -1
|
@@ -134,7 +134,7 @@ Public Types</h2></td></tr>
|
|
|
134
134
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
135
135
|
Public Member Functions</h2></td></tr>
|
|
136
136
|
<tr class="memitem:a24daf5faa4b1d159c193e61951d17414"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a24daf5faa4b1d159c193e61951d17414">SVFVar</a> (const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *val, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeff">PNODEK</a> k)</td></tr>
|
|
137
|
-
<tr class="memdesc:a24daf5faa4b1d159c193e61951d17414"><td class="mdescLeft"> </td><td class="mdescRight">address-taken
|
|
137
|
+
<tr class="memdesc:a24daf5faa4b1d159c193e61951d17414"><td class="mdescLeft"> </td><td class="mdescRight">whether it is a pointer (top-level or address-taken) <a href="#a24daf5faa4b1d159c193e61951d17414">More...</a><br /></td></tr>
|
|
138
138
|
<tr class="separator:a24daf5faa4b1d159c193e61951d17414"><td class="memSeparator" colspan="2"> </td></tr>
|
|
139
139
|
<tr class="memitem:ab76f9dea1559bd9b10b870dbc7bb454a"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#ab76f9dea1559bd9b10b870dbc7bb454a">~SVFVar</a> ()</td></tr>
|
|
140
140
|
<tr class="memdesc:ab76f9dea1559bd9b10b870dbc7bb454a"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#ab76f9dea1559bd9b10b870dbc7bb454a">More...</a><br /></td></tr>
|
|
@@ -151,12 +151,6 @@ Public Member Functions</h2></td></tr>
|
|
|
151
151
|
<tr class="memitem:a3b61042079a6c9dc395f38925c6a1271"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a> () const</td></tr>
|
|
152
152
|
<tr class="memdesc:a3b61042079a6c9dc395f38925c6a1271"><td class="mdescLeft"> </td><td class="mdescRight">Whether it is a pointer. <a href="#a3b61042079a6c9dc395f38925c6a1271">More...</a><br /></td></tr>
|
|
153
153
|
<tr class="separator:a3b61042079a6c9dc395f38925c6a1271"><td class="memSeparator" colspan="2"> </td></tr>
|
|
154
|
-
<tr class="memitem:a60bed99a7fd939873118698b058ccc4a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a60bed99a7fd939873118698b058ccc4a">isTopLevelPtr</a> () const</td></tr>
|
|
155
|
-
<tr class="memdesc:a60bed99a7fd939873118698b058ccc4a"><td class="mdescLeft"> </td><td class="mdescRight">Whether it is a top-level pointer. <a href="#a60bed99a7fd939873118698b058ccc4a">More...</a><br /></td></tr>
|
|
156
|
-
<tr class="separator:a60bed99a7fd939873118698b058ccc4a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
157
|
-
<tr class="memitem:a482652e097c8e7921b4db2e75eb71efc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a482652e097c8e7921b4db2e75eb71efc">isAddressTakenPtr</a> () const</td></tr>
|
|
158
|
-
<tr class="memdesc:a482652e097c8e7921b4db2e75eb71efc"><td class="mdescLeft"> </td><td class="mdescRight">Whether it is an address-taken pointer. <a href="#a482652e097c8e7921b4db2e75eb71efc">More...</a><br /></td></tr>
|
|
159
|
-
<tr class="separator:a482652e097c8e7921b4db2e75eb71efc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
154
|
<tr class="memitem:ab51b134720986c39fce7f033a49df6f0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#ab51b134720986c39fce7f033a49df6f0">isConstantData</a> () const</td></tr>
|
|
161
155
|
<tr class="separator:ab51b134720986c39fce7f033a49df6f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
162
156
|
<tr class="memitem:acf194658d2cbdaf3f26f2af6c325fad7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#acf194658d2cbdaf3f26f2af6c325fad7">isIsolatedNode</a> () const</td></tr>
|
|
@@ -272,11 +266,8 @@ Protected Attributes</h2></td></tr>
|
|
|
272
266
|
<tr class="separator:a0d918a6c8dd3b7b395d4c7161bcf9656"><td class="memSeparator" colspan="2"> </td></tr>
|
|
273
267
|
<tr class="memitem:a3775dd07e89ea6b25950a8b900a4ceab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">SVFStmt::KindToSVFStmtMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a></td></tr>
|
|
274
268
|
<tr class="separator:a3775dd07e89ea6b25950a8b900a4ceab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
275
|
-
<tr class="memitem:
|
|
276
|
-
<tr class="separator:
|
|
277
|
-
<tr class="memitem:a307c0f4d90308d5f77977d5635cad65d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a307c0f4d90308d5f77977d5635cad65d">isATPointer</a></td></tr>
|
|
278
|
-
<tr class="memdesc:a307c0f4d90308d5f77977d5635cad65d"><td class="mdescLeft"> </td><td class="mdescRight">top-level pointer <a href="#a307c0f4d90308d5f77977d5635cad65d">More...</a><br /></td></tr>
|
|
279
|
-
<tr class="separator:a307c0f4d90308d5f77977d5635cad65d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
269
|
+
<tr class="memitem:a7c8ffadedbf53d30694feeb7771990af"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a></td></tr>
|
|
270
|
+
<tr class="separator:a7c8ffadedbf53d30694feeb7771990af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
280
271
|
</table><table class="memberdecls">
|
|
281
272
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
|
|
282
273
|
Friends</h2></td></tr>
|
|
@@ -384,23 +375,22 @@ Friends</h2></td></tr>
|
|
|
384
375
|
</table>
|
|
385
376
|
</div><div class="memdoc">
|
|
386
377
|
|
|
387
|
-
<p>address-taken
|
|
378
|
+
<p>whether it is a pointer (top-level or address-taken) </p>
|
|
388
379
|
<p>Constructor</p>
|
|
389
380
|
<p><a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> constructor </p>
|
|
390
381
|
|
|
391
382
|
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#l00040">40</a> of file <a class="el" href="SVFVariables_8cpp_source.html">SVFVariables.cpp</a>.</p>
|
|
392
|
-
<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  :</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespaceSVF.html#a8d5e9e5137b04659ded32330e128df34">GenericPAGNodeTy</a>(i,k), <a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>(val)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> 
|
|
383
|
+
<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  :</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespaceSVF.html#a8d5e9e5137b04659ded32330e128df34">GenericPAGNodeTy</a>(i,k), <a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>(val)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>( <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa32d22852d39756992f87bd02def75f66">ValNode</a> <= k && k <= <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">CloneDummyObjNode</a> && <span class="stringliteral">"new SVFIR node kind?"</span>);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">switch</span> (k)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa32d22852d39756992f87bd02def75f66">ValNode</a>:</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa288e3f5d01c94d5c5d685d43f08a6c4a">GepValNode</a>:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(val != <span class="keyword">nullptr</span> && <span class="stringliteral">"value is nullptr for ValVar or GepValNode"</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a> = val->getType()->isPointerTy();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa5de2a8fce9a85f31818d58992b381b98">RetNode</a>:</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(val != <span class="keyword">nullptr</span> && <span class="stringliteral">"value is nullptr for RetNode"</span>);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a> = SVFUtil::cast<Function>(val)->getReturnType()->isPointerTy();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa5a13a457f037424f61e74165a9cdcebf">VarargNode</a>:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8">DummyValNode</a>:</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffae21504009be26916ccdfcb5de42e3e11">ObjNode</a>:</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaf3364b22f497146f06d1f4175a839f4f">GepObjNode</a>:</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaabe491b0a744825250b97f407962c4a6">FIObjNode</a>:</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af">DummyObjNode</a>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffabf9e21e7cbec690ad318a68cd5d756dc">CloneGepObjNode</a>:</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa2ca0654308fd181afcb1f20519a0247a">CloneFIObjNode</a>:</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">CloneDummyObjNode</a>:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">if</span>(val)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a> = val->getType()->isPointerTy();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffaabe491b0a744825250b97f407962c4a6"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaabe491b0a744825250b97f407962c4a6">SVF::SVFVar::FIObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00071">SVFVariables.h:71</a></div></div>
|
|
393
384
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa288e3f5d01c94d5c5d685d43f08a6c4a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa288e3f5d01c94d5c5d685d43f08a6c4a">SVF::SVFVar::GepValNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00069">SVFVariables.h:69</a></div></div>
|
|
394
385
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
395
386
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffabf9e21e7cbec690ad318a68cd5d756dc"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffabf9e21e7cbec690ad318a68cd5d756dc">SVF::SVFVar::CloneGepObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00074">SVFVariables.h:74</a></div></div>
|
|
396
387
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8">SVF::SVFVar::DummyValNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00072">SVFVariables.h:72</a></div></div>
|
|
397
388
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffaf3364b22f497146f06d1f4175a839f4f"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaf3364b22f497146f06d1f4175a839f4f">SVF::SVFVar::GepObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00070">SVFVariables.h:70</a></div></div>
|
|
398
|
-
<div class="ttc" id="classSVF_1_1SVFVar_html_a307c0f4d90308d5f77977d5635cad65d"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a307c0f4d90308d5f77977d5635cad65d">SVF::SVFVar::isATPointer</a></div><div class="ttdeci">bool isATPointer</div><div class="ttdoc">top-level pointer </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00085">SVFVariables.h:85</a></div></div>
|
|
399
389
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa2ca0654308fd181afcb1f20519a0247a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa2ca0654308fd181afcb1f20519a0247a">SVF::SVFVar::CloneFIObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00075">SVFVariables.h:75</a></div></div>
|
|
400
390
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af">SVF::SVFVar::DummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00073">SVFVariables.h:73</a></div></div>
|
|
401
391
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffae21504009be26916ccdfcb5de42e3e11"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffae21504009be26916ccdfcb5de42e3e11">SVF::SVFVar::ObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00066">SVFVariables.h:66</a></div></div>
|
|
402
|
-
<div class="ttc" id="classSVF_1_1SVFVar_html_afeb667f2af988479e93a6067c4e6e622"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afeb667f2af988479e93a6067c4e6e622">SVF::SVFVar::isTLPointer</a></div><div class="ttdeci">bool isTLPointer</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00084">SVFVariables.h:84</a></div></div>
|
|
403
392
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">SVF::SVFVar::CloneDummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00076">SVFVariables.h:76</a></div></div>
|
|
393
|
+
<div class="ttc" id="classSVF_1_1SVFVar_html_a7c8ffadedbf53d30694feeb7771990af"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">SVF::SVFVar::isPtr</a></div><div class="ttdeci">bool isPtr</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00084">SVFVariables.h:84</a></div></div>
|
|
404
394
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
405
395
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa5de2a8fce9a85f31818d58992b381b98"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa5de2a8fce9a85f31818d58992b381b98">SVF::SVFVar::RetNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00067">SVFVariables.h:67</a></div></div>
|
|
406
396
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa32d22852d39756992f87bd02def75f66"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa32d22852d39756992f87bd02def75f66">SVF::SVFVar::ValNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00065">SVFVariables.h:65</a></div></div>
|
|
@@ -434,8 +424,8 @@ Friends</h2></td></tr>
|
|
|
434
424
|
|
|
435
425
|
<p>Destructor. </p>
|
|
436
426
|
|
|
437
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
438
|
-
<div class="fragment"><div class="line"><a name="
|
|
427
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00090">90</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
428
|
+
<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div></div><!-- fragment -->
|
|
439
429
|
</div>
|
|
440
430
|
</div>
|
|
441
431
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
@@ -465,8 +455,8 @@ Friends</h2></td></tr>
|
|
|
465
455
|
|
|
466
456
|
<p>add methods of the components </p>
|
|
467
457
|
|
|
468
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
469
|
-
<div class="fragment"><div class="line"><a name="
|
|
458
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00217">217</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
459
|
+
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> kind = inEdge->getEdgeKind();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>[kind].insert(inEdge);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="classSVF_1_1GenericNode.html#a93d217b0c9fd8008a2989ca2b4f3fbfb">addIncomingEdge</a>(inEdge);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div><div class="ttc" id="classSVF_1_1GenericNode_html_a3f20339b5295e11beb0f9adb95c7aa5b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">SVF::GenericNode::GNodeK</a></div><div class="ttdeci">s64_t GNodeK</div><div class="ttdoc">Edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00135">GenericGraph.h:135</a></div></div>
|
|
470
460
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a93d217b0c9fd8008a2989ca2b4f3fbfb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a93d217b0c9fd8008a2989ca2b4f3fbfb">SVF::GenericNode::addIncomingEdge</a></div><div class="ttdeci">bool addIncomingEdge(EdgeType *inEdge)</div><div class="ttdoc">Add incoming and outgoing edges. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00275">GenericGraph.h:275</a></div></div>
|
|
471
461
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
472
462
|
</div><!-- fragment -->
|
|
@@ -496,8 +486,8 @@ Friends</h2></td></tr>
|
|
|
496
486
|
</table>
|
|
497
487
|
</div><div class="memdoc">
|
|
498
488
|
|
|
499
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
500
|
-
<div class="fragment"><div class="line"><a name="
|
|
489
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00224">224</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
490
|
+
<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> kind = outEdge->getEdgeKind();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>[kind].insert(outEdge);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="classSVF_1_1GenericNode.html#ae74283fbc788665296a69e56f334557b">addOutgoingEdge</a>(outEdge);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a3775dd07e89ea6b25950a8b900a4ceab"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">SVF::SVFVar::OutEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00083">SVFVariables.h:83</a></div></div>
|
|
501
491
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ae74283fbc788665296a69e56f334557b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae74283fbc788665296a69e56f334557b">SVF::GenericNode::addOutgoingEdge</a></div><div class="ttdeci">bool addOutgoingEdge(EdgeType *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00279">GenericGraph.h:279</a></div></div>
|
|
502
492
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a3f20339b5295e11beb0f9adb95c7aa5b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">SVF::GenericNode::GNodeK</a></div><div class="ttdeci">s64_t GNodeK</div><div class="ttdoc">Edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00135">GenericGraph.h:135</a></div></div>
|
|
503
493
|
</div><!-- fragment -->
|
|
@@ -520,8 +510,8 @@ Friends</h2></td></tr>
|
|
|
520
510
|
|
|
521
511
|
<p>Dump to console for debugging. </p>
|
|
522
512
|
|
|
523
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#
|
|
524
|
-
<div class="fragment"><div class="line"><a name="
|
|
513
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#l00100">100</a> of file <a class="el" href="SVFVariables_8cpp_source.html">SVFVariables.cpp</a>.</p>
|
|
514
|
+
<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << this-><a class="code" href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">toString</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div><div class="ttc" id="classSVF_1_1SVFVar_html_ada932ef2ae0a3e712174df479c35b0dd"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">SVF::SVFVar::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00093">SVFVariables.cpp:93</a></div></div>
|
|
525
515
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
|
|
526
516
|
</div><!-- fragment -->
|
|
527
517
|
</div>
|
|
@@ -551,8 +541,8 @@ Friends</h2></td></tr>
|
|
|
551
541
|
|
|
552
542
|
<p>Return the function that this <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> resides in. Return nullptr if it is a global or constantexpr node. </p>
|
|
553
543
|
|
|
554
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
555
|
-
<div class="fragment"><div class="line"><a name="
|
|
544
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00138">138</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
545
|
+
<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>)</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = SVFUtil::dyn_cast<Instruction>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>))</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> inst->getParent()->getParent();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* arg = SVFUtil::dyn_cast<Argument>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> arg->getParent();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = SVFUtil::dyn_cast<Function>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>))</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  }</div><div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
556
546
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
|
|
557
547
|
<div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
|
|
558
548
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
@@ -585,8 +575,8 @@ Friends</h2></td></tr>
|
|
|
585
575
|
|
|
586
576
|
<p>Get incoming <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> statements (edges) </p>
|
|
587
577
|
|
|
588
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
589
|
-
<div class="fragment"><div class="line"><a name="
|
|
578
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00153">153</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
579
|
+
<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>[kind];</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
590
580
|
</div><!-- fragment -->
|
|
591
581
|
</div>
|
|
592
582
|
</div>
|
|
@@ -616,8 +606,8 @@ Friends</h2></td></tr>
|
|
|
616
606
|
|
|
617
607
|
<p>Get incoming <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> iterator. </p>
|
|
618
608
|
|
|
619
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
620
|
-
<div class="fragment"><div class="line"><a name="
|
|
609
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00182">182</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
610
|
+
<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=<a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.end() && <span class="stringliteral">"The node does not have such kind of edge"</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> it->second.begin();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
621
611
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
622
612
|
</div><!-- fragment -->
|
|
623
613
|
</div>
|
|
@@ -648,8 +638,8 @@ Friends</h2></td></tr>
|
|
|
648
638
|
|
|
649
639
|
<p>Get incoming <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> iterator. </p>
|
|
650
640
|
|
|
651
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
652
|
-
<div class="fragment"><div class="line"><a name="
|
|
641
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00190">190</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
642
|
+
<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=<a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.end() && <span class="stringliteral">"The node does not have such kind of edge"</span>);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> it->second.end();</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
653
643
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
654
644
|
</div><!-- fragment -->
|
|
655
645
|
</div>
|
|
@@ -680,8 +670,8 @@ Friends</h2></td></tr>
|
|
|
680
670
|
|
|
681
671
|
<p>Get outgoing <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> statements (edges) </p>
|
|
682
672
|
|
|
683
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
684
|
-
<div class="fragment"><div class="line"><a name="
|
|
673
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00158">158</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
674
|
+
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>[kind];</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a3775dd07e89ea6b25950a8b900a4ceab"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">SVF::SVFVar::OutEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00083">SVFVariables.h:83</a></div></div>
|
|
685
675
|
</div><!-- fragment -->
|
|
686
676
|
</div>
|
|
687
677
|
</div>
|
|
@@ -711,8 +701,8 @@ Friends</h2></td></tr>
|
|
|
711
701
|
|
|
712
702
|
<p>Get outgoing <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> iterator. </p>
|
|
713
703
|
|
|
714
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
715
|
-
<div class="fragment"><div class="line"><a name="
|
|
704
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00198">198</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
705
|
+
<div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=<a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.end() && <span class="stringliteral">"The node does not have such kind of edge"</span>);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> it->second.begin();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a3775dd07e89ea6b25950a8b900a4ceab"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">SVF::SVFVar::OutEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00083">SVFVariables.h:83</a></div></div>
|
|
716
706
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
717
707
|
</div><!-- fragment -->
|
|
718
708
|
</div>
|
|
@@ -743,8 +733,8 @@ Friends</h2></td></tr>
|
|
|
743
733
|
|
|
744
734
|
<p>Get outgoing <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> iterator. </p>
|
|
745
735
|
|
|
746
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
747
|
-
<div class="fragment"><div class="line"><a name="
|
|
736
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00206">206</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
737
|
+
<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it!=<a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.end() && <span class="stringliteral">"The node does not have such kind of edge"</span>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> it->second.end();</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a3775dd07e89ea6b25950a8b900a4ceab"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">SVF::SVFVar::OutEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00083">SVFVariables.h:83</a></div></div>
|
|
748
738
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
749
739
|
</div><!-- fragment -->
|
|
750
740
|
</div>
|
|
@@ -776,8 +766,8 @@ Friends</h2></td></tr>
|
|
|
776
766
|
|
|
777
767
|
<p>Reimplemented in <a class="el" href="classSVF_1_1GepObjVar.html#ab2348a9378f1c64cf5c176b21a655d14">SVF::GepObjVar</a>, <a class="el" href="classSVF_1_1GepValVar.html#a2760700f067c6a2fbc4e6e626b603bc4">SVF::GepValVar</a>, and <a class="el" href="classSVF_1_1ObjVar.html#aa1004c9973fb974ba1e52df80978321d">SVF::ObjVar</a>.</p>
|
|
778
768
|
|
|
779
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
780
|
-
<div class="fragment"><div class="line"><a name="
|
|
769
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00105">105</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
770
|
+
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>->getType();</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
781
771
|
</div><!-- fragment -->
|
|
782
772
|
</div>
|
|
783
773
|
</div>
|
|
@@ -806,8 +796,8 @@ Friends</h2></td></tr>
|
|
|
806
796
|
|
|
807
797
|
<p>Get/has methods of the components. </p>
|
|
808
798
|
|
|
809
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
810
|
-
<div class="fragment"><div class="line"><a name="
|
|
799
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00096">96</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
800
|
+
<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((this-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() != <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8">DummyValNode</a> && this-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() != <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af">DummyObjNode</a>) && <span class="stringliteral">"dummy node do not have value!"</span>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((<a class="code" href="classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d">SymbolTableInfo::isBlkObjOrConstantObj</a>(this-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())==<span class="keyword">false</span>) && <span class="stringliteral">"blackhole and constant obj do not have value"</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a> && <span class="stringliteral">"value is null (GepObjNode whose basenode is a DummyObj?)"</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
811
801
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8">SVF::SVFVar::DummyValNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00072">SVFVariables.h:72</a></div></div>
|
|
812
802
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
813
803
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af">SVF::SVFVar::DummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00073">SVFVariables.h:73</a></div></div>
|
|
@@ -872,8 +862,8 @@ Friends</h2></td></tr>
|
|
|
872
862
|
|
|
873
863
|
<p>Has incoming <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> statements (edges) </p>
|
|
874
864
|
|
|
875
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
876
|
-
<div class="fragment"><div class="line"><a name="
|
|
865
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00163">163</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
866
|
+
<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.end())</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> (!it->second.empty());</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
877
867
|
</div><!-- fragment -->
|
|
878
868
|
</div>
|
|
879
869
|
</div>
|
|
@@ -902,8 +892,8 @@ Friends</h2></td></tr>
|
|
|
902
892
|
|
|
903
893
|
<p>Has incoming VariantGepEdges. </p>
|
|
904
894
|
|
|
905
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
906
|
-
<div class="fragment"><div class="line"><a name="
|
|
895
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00231">231</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
896
|
+
<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.find(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">InEdgeKindToSetMap</a>.end())</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> gep : it->second){</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span>(SVFUtil::cast<GepStmt>(gep)->isVariantFieldGep())</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVF::SVFStmt::Gep</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
907
897
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a0d918a6c8dd3b7b395d4c7161bcf9656"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a0d918a6c8dd3b7b395d4c7161bcf9656">SVF::SVFVar::InEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00082">SVFVariables.h:82</a></div></div>
|
|
908
898
|
</div><!-- fragment -->
|
|
909
899
|
</div>
|
|
@@ -934,8 +924,8 @@ Friends</h2></td></tr>
|
|
|
934
924
|
|
|
935
925
|
<p>Has outgoing <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> statements (edges) </p>
|
|
936
926
|
|
|
937
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
938
|
-
<div class="fragment"><div class="line"><a name="
|
|
927
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00172">172</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
928
|
+
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  SVFStmt::KindToSVFStmtMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.find(kind);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">OutEdgeKindToSetMap</a>.end())</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> (!it->second.empty());</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a3775dd07e89ea6b25950a8b900a4ceab"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3775dd07e89ea6b25950a8b900a4ceab">SVF::SVFVar::OutEdgeKindToSetMap</a></div><div class="ttdeci">SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00083">SVFVariables.h:83</a></div></div>
|
|
939
929
|
</div><!-- fragment -->
|
|
940
930
|
</div>
|
|
941
931
|
</div>
|
|
@@ -962,38 +952,8 @@ Friends</h2></td></tr>
|
|
|
962
952
|
</table>
|
|
963
953
|
</div><div class="memdoc">
|
|
964
954
|
|
|
965
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
966
|
-
<div class="fragment"><div class="line"><a name="
|
|
967
|
-
</div><!-- fragment -->
|
|
968
|
-
</div>
|
|
969
|
-
</div>
|
|
970
|
-
<a id="a482652e097c8e7921b4db2e75eb71efc"></a>
|
|
971
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a482652e097c8e7921b4db2e75eb71efc">◆ </a></span>isAddressTakenPtr()</h2>
|
|
972
|
-
|
|
973
|
-
<div class="memitem">
|
|
974
|
-
<div class="memproto">
|
|
975
|
-
<table class="mlabels">
|
|
976
|
-
<tr>
|
|
977
|
-
<td class="mlabels-left">
|
|
978
|
-
<table class="memname">
|
|
979
|
-
<tr>
|
|
980
|
-
<td class="memname">bool SVF::SVFVar::isAddressTakenPtr </td>
|
|
981
|
-
<td>(</td>
|
|
982
|
-
<td class="paramname"></td><td>)</td>
|
|
983
|
-
<td> const</td>
|
|
984
|
-
</tr>
|
|
985
|
-
</table>
|
|
986
|
-
</td>
|
|
987
|
-
<td class="mlabels-right">
|
|
988
|
-
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
989
|
-
</tr>
|
|
990
|
-
</table>
|
|
991
|
-
</div><div class="memdoc">
|
|
992
|
-
|
|
993
|
-
<p>Whether it is an address-taken pointer. </p>
|
|
994
|
-
|
|
995
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00128">128</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
996
|
-
<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a307c0f4d90308d5f77977d5635cad65d">isATPointer</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a307c0f4d90308d5f77977d5635cad65d"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a307c0f4d90308d5f77977d5635cad65d">SVF::SVFVar::isATPointer</a></div><div class="ttdeci">bool isATPointer</div><div class="ttdoc">top-level pointer </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00085">SVFVariables.h:85</a></div></div>
|
|
955
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00112">112</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
956
|
+
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>!=<span class="keyword">nullptr</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
997
957
|
</div><!-- fragment -->
|
|
998
958
|
</div>
|
|
999
959
|
</div>
|
|
@@ -1021,8 +981,8 @@ Friends</h2></td></tr>
|
|
|
1021
981
|
</div><div class="memdoc">
|
|
1022
982
|
<p>Whether it is constant data, i.e., "0", "1.001", "str" or llvm's metadata, i.e., metadata !4087 </p>
|
|
1023
983
|
|
|
1024
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
1025
|
-
<div class="fragment"><div class="line"><a name="
|
|
984
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00123">123</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
985
|
+
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVFUtil::isConstantData</a>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
|
|
1026
986
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9e85d445e8b7b205134acd3874bba388"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVF::SVFUtil::isConstantData</a></div><div class="ttdeci">bool isConstantData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00392">LLVMUtil.h:392</a></div></div>
|
|
1027
987
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
1028
988
|
</div><!-- fragment -->
|
|
@@ -1045,12 +1005,12 @@ Friends</h2></td></tr>
|
|
|
1045
1005
|
|
|
1046
1006
|
<p>Whether this is an isoloated node on the <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> graph. </p>
|
|
1047
1007
|
|
|
1048
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#
|
|
1049
|
-
<div class="fragment"><div class="line"><a name="
|
|
1008
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#l00081">81</a> of file <a class="el" href="SVFVariables_8cpp_source.html">SVFVariables.cpp</a>.</p>
|
|
1009
|
+
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>() && <a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>())</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFVar.html#ab51b134720986c39fce7f033a49df6f0">isConstantData</a>())</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a> && SVFUtil::isa<Function>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad2c53be5490882768d51aa894b37cbf1">SVFUtil::isIntrinsicFun</a>(SVFUtil::cast<Function>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>));</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
|
|
1050
1010
|
<div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
|
|
1051
1011
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ad2c53be5490882768d51aa894b37cbf1"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ad2c53be5490882768d51aa894b37cbf1">SVF::SVFUtil::isIntrinsicFun</a></div><div class="ttdeci">bool isIntrinsicFun(const Function *func)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00167">SVFUtil.h:167</a></div></div>
|
|
1052
1012
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00178">GenericGraph.h:178</a></div></div>
|
|
1053
|
-
<div class="ttc" id="classSVF_1_1SVFVar_html_ab51b134720986c39fce7f033a49df6f0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab51b134720986c39fce7f033a49df6f0">SVF::SVFVar::isConstantData</a></div><div class="ttdeci">bool isConstantData() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#
|
|
1013
|
+
<div class="ttc" id="classSVF_1_1SVFVar_html_ab51b134720986c39fce7f033a49df6f0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab51b134720986c39fce7f033a49df6f0">SVF::SVFVar::isConstantData</a></div><div class="ttdeci">bool isConstantData() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00123">SVFVariables.h:123</a></div></div>
|
|
1054
1014
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
1055
1015
|
</div><!-- fragment -->
|
|
1056
1016
|
</div>
|
|
@@ -1080,39 +1040,8 @@ Friends</h2></td></tr>
|
|
|
1080
1040
|
|
|
1081
1041
|
<p>Whether it is a pointer. </p>
|
|
1082
1042
|
|
|
1083
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
1084
|
-
<div class="fragment"><div class="line"><a name="
|
|
1085
|
-
<div class="ttc" id="classSVF_1_1SVFVar_html_a482652e097c8e7921b4db2e75eb71efc"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a482652e097c8e7921b4db2e75eb71efc">SVF::SVFVar::isAddressTakenPtr</a></div><div class="ttdeci">bool isAddressTakenPtr() const</div><div class="ttdoc">Whether it is an address-taken pointer. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00128">SVFVariables.h:128</a></div></div>
|
|
1086
|
-
</div><!-- fragment -->
|
|
1087
|
-
</div>
|
|
1088
|
-
</div>
|
|
1089
|
-
<a id="a60bed99a7fd939873118698b058ccc4a"></a>
|
|
1090
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a60bed99a7fd939873118698b058ccc4a">◆ </a></span>isTopLevelPtr()</h2>
|
|
1091
|
-
|
|
1092
|
-
<div class="memitem">
|
|
1093
|
-
<div class="memproto">
|
|
1094
|
-
<table class="mlabels">
|
|
1095
|
-
<tr>
|
|
1096
|
-
<td class="mlabels-left">
|
|
1097
|
-
<table class="memname">
|
|
1098
|
-
<tr>
|
|
1099
|
-
<td class="memname">bool SVF::SVFVar::isTopLevelPtr </td>
|
|
1100
|
-
<td>(</td>
|
|
1101
|
-
<td class="paramname"></td><td>)</td>
|
|
1102
|
-
<td> const</td>
|
|
1103
|
-
</tr>
|
|
1104
|
-
</table>
|
|
1105
|
-
</td>
|
|
1106
|
-
<td class="mlabels-right">
|
|
1107
|
-
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
1108
|
-
</tr>
|
|
1109
|
-
</table>
|
|
1110
|
-
</div><div class="memdoc">
|
|
1111
|
-
|
|
1112
|
-
<p>Whether it is a top-level pointer. </p>
|
|
1113
|
-
|
|
1114
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00123">123</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
1115
|
-
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#afeb667f2af988479e93a6067c4e6e622">isTLPointer</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_afeb667f2af988479e93a6067c4e6e622"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afeb667f2af988479e93a6067c4e6e622">SVF::SVFVar::isTLPointer</a></div><div class="ttdeci">bool isTLPointer</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00084">SVFVariables.h:84</a></div></div>
|
|
1043
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00117">117</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
1044
|
+
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">isPtr</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a7c8ffadedbf53d30694feeb7771990af"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af">SVF::SVFVar::isPtr</a></div><div class="ttdeci">bool isPtr</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00084">SVFVariables.h:84</a></div></div>
|
|
1116
1045
|
</div><!-- fragment -->
|
|
1117
1046
|
</div>
|
|
1118
1047
|
</div>
|
|
@@ -1141,8 +1070,8 @@ Friends</h2></td></tr>
|
|
|
1141
1070
|
|
|
1142
1071
|
<p>Reimplemented in <a class="el" href="classSVF_1_1CloneFIObjVar.html#a336acd6fdf3e6be5ea44435a1576c9fc">SVF::CloneFIObjVar</a>, <a class="el" href="classSVF_1_1CloneGepObjVar.html#a74e6fea7dc651c57de3e06ff356522a5">SVF::CloneGepObjVar</a>, <a class="el" href="classSVF_1_1CloneDummyObjVar.html#a72249d18032dfcd866d0519da3c0999b">SVF::CloneDummyObjVar</a>, <a class="el" href="classSVF_1_1DummyObjVar.html#a0888335fe157af01e647b79043c7ae40">SVF::DummyObjVar</a>, <a class="el" href="classSVF_1_1DummyValVar.html#a4da61151fed6a64cc361d69276d00b84">SVF::DummyValVar</a>, <a class="el" href="classSVF_1_1VarArgPN.html#a617077176f0ea586a0cf9a4a1034e99d">SVF::VarArgPN</a>, <a class="el" href="classSVF_1_1RetPN.html#a9824061477c142e5dba14af14fa53aa2">SVF::RetPN</a>, <a class="el" href="classSVF_1_1FIObjVar.html#ad383a7468348cf040e9dcd8515848595">SVF::FIObjVar</a>, <a class="el" href="classSVF_1_1GepObjVar.html#aa7bfd42a92e9ebc34613818e70689218">SVF::GepObjVar</a>, <a class="el" href="classSVF_1_1GepValVar.html#ac9016b61dde44eb89ea715a0619994de">SVF::GepValVar</a>, <a class="el" href="classSVF_1_1ObjVar.html#a14da09447f9f0495a42a61bdd92688a3">SVF::ObjVar</a>, and <a class="el" href="classSVF_1_1ValVar.html#a4591213dd266efd380fd916fee73c1fd">SVF::ValVar</a>.</p>
|
|
1143
1072
|
|
|
1144
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#
|
|
1145
|
-
<div class="fragment"><div class="line"><a name="
|
|
1073
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8cpp_source.html#l00093">93</a> of file <a class="el" href="SVFVariables_8cpp_source.html">SVFVariables.cpp</a>.</p>
|
|
1074
|
+
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  std::string str;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  rawstr << <span class="stringliteral">"SVFVar ID: "</span> << <a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div><div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
1146
1075
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
1147
1076
|
</div><!-- fragment -->
|
|
1148
1077
|
</div>
|
|
@@ -1208,8 +1137,8 @@ Friends</h2></td></tr>
|
|
|
1208
1137
|
|
|
1209
1138
|
<p>Overloading operator << for dumping <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> value. </p>
|
|
1210
1139
|
|
|
1211
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
1212
|
-
<div class="fragment"><div class="line"><a name="
|
|
1140
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00253">253</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
1141
|
+
<div class="fragment"><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>  o << node.toString();</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div></div><!-- fragment -->
|
|
1213
1142
|
</div>
|
|
1214
1143
|
</div>
|
|
1215
1144
|
<a id="a6dbb40e8ee92033b77440c44acd8a868"></a>
|
|
@@ -1285,34 +1214,8 @@ Friends</h2></td></tr>
|
|
|
1285
1214
|
|
|
1286
1215
|
</div>
|
|
1287
1216
|
</div>
|
|
1288
|
-
<a id="
|
|
1289
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1290
|
-
|
|
1291
|
-
<div class="memitem">
|
|
1292
|
-
<div class="memproto">
|
|
1293
|
-
<table class="mlabels">
|
|
1294
|
-
<tr>
|
|
1295
|
-
<td class="mlabels-left">
|
|
1296
|
-
<table class="memname">
|
|
1297
|
-
<tr>
|
|
1298
|
-
<td class="memname">bool SVF::SVFVar::isATPointer</td>
|
|
1299
|
-
</tr>
|
|
1300
|
-
</table>
|
|
1301
|
-
</td>
|
|
1302
|
-
<td class="mlabels-right">
|
|
1303
|
-
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
1304
|
-
</tr>
|
|
1305
|
-
</table>
|
|
1306
|
-
</div><div class="memdoc">
|
|
1307
|
-
|
|
1308
|
-
<p>top-level pointer </p>
|
|
1309
|
-
|
|
1310
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00085">85</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
1311
|
-
|
|
1312
|
-
</div>
|
|
1313
|
-
</div>
|
|
1314
|
-
<a id="afeb667f2af988479e93a6067c4e6e622"></a>
|
|
1315
|
-
<h2 class="memtitle"><span class="permalink"><a href="#afeb667f2af988479e93a6067c4e6e622">◆ </a></span>isTLPointer</h2>
|
|
1217
|
+
<a id="a7c8ffadedbf53d30694feeb7771990af"></a>
|
|
1218
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7c8ffadedbf53d30694feeb7771990af">◆ </a></span>isPtr</h2>
|
|
1316
1219
|
|
|
1317
1220
|
<div class="memitem">
|
|
1318
1221
|
<div class="memproto">
|
|
@@ -1321,7 +1224,7 @@ Friends</h2></td></tr>
|
|
|
1321
1224
|
<td class="mlabels-left">
|
|
1322
1225
|
<table class="memname">
|
|
1323
1226
|
<tr>
|
|
1324
|
-
<td class="memname">bool SVF::SVFVar::
|
|
1227
|
+
<td class="memname">bool SVF::SVFVar::isPtr</td>
|
|
1325
1228
|
</tr>
|
|
1326
1229
|
</table>
|
|
1327
1230
|
</td>
|