|
10 | 10 | #ifndef PHASAR_PHASARLLVM_IFDSIDE_PROBLEMS_IDEINSTINTERACTIONALYSIS_H |
11 | 11 | #define PHASAR_PHASARLLVM_IFDSIDE_PROBLEMS_IDEINSTINTERACTIONALYSIS_H |
12 | 12 |
|
13 | | -#include <functional> |
14 | | -#include <initializer_list> |
15 | | -#include <map> |
16 | | -#include <memory> |
17 | | -#include <set> |
18 | | -#include <string> |
19 | | -#include <type_traits> |
20 | | -#include <unordered_map> |
21 | | -#include <unordered_set> |
22 | | -#include <variant> |
23 | | -#include <vector> |
24 | | - |
25 | | -#include "llvm/IR/Attributes.h" |
26 | | -#include "llvm/IR/Constant.h" |
27 | | -#include "llvm/IR/Constants.h" |
28 | | -#include "llvm/IR/DerivedTypes.h" |
29 | | -#include "llvm/IR/GlobalVariable.h" |
30 | | -#include "llvm/IR/InstrTypes.h" |
31 | | -#include "llvm/IR/Instruction.h" |
32 | | -#include "llvm/IR/Instructions.h" |
33 | | -#include "llvm/IR/Value.h" |
34 | | -#include "llvm/Support/Casting.h" |
35 | | -#include "llvm/Support/Compiler.h" |
36 | | -#include "llvm/Support/ErrorHandling.h" |
37 | | - |
38 | 13 | #include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" |
39 | 14 | #include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" |
40 | 15 | #include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" |
|
52 | 27 | #include "phasar/Utils/BitVectorSet.h" |
53 | 28 | #include "phasar/Utils/Logger.h" |
54 | 29 |
|
| 30 | +#include "llvm/IR/Attributes.h" |
| 31 | +#include "llvm/IR/Constant.h" |
| 32 | +#include "llvm/IR/Constants.h" |
| 33 | +#include "llvm/IR/DerivedTypes.h" |
| 34 | +#include "llvm/IR/GlobalVariable.h" |
| 35 | +#include "llvm/IR/InstrTypes.h" |
| 36 | +#include "llvm/IR/Instruction.h" |
| 37 | +#include "llvm/IR/Instructions.h" |
| 38 | +#include "llvm/IR/Value.h" |
| 39 | +#include "llvm/Support/Casting.h" |
| 40 | +#include "llvm/Support/Compiler.h" |
| 41 | +#include "llvm/Support/ErrorHandling.h" |
| 42 | +#include "llvm/Support/raw_ostream.h" |
| 43 | + |
| 44 | +#include <functional> |
| 45 | +#include <initializer_list> |
| 46 | +#include <map> |
| 47 | +#include <memory> |
| 48 | +#include <set> |
| 49 | +#include <string> |
| 50 | +#include <type_traits> |
| 51 | +#include <unordered_map> |
| 52 | +#include <unordered_set> |
| 53 | +#include <variant> |
| 54 | +#include <vector> |
| 55 | + |
55 | 56 | // have some handy helper functionalities |
56 | 57 | namespace { |
57 | 58 |
|
@@ -844,6 +845,7 @@ class IDEInstInteractionAnalysisT |
844 | 845 | CurrNode, |
845 | 846 | OnlyConsiderLocalAliases) || |
846 | 847 | Store->getPointerOperand() == CurrNode)) { |
| 848 | + // Add the original variable, i.e., memory location. |
847 | 849 | return IIAAKillOrReplaceEF::createEdgeFunction(UserEdgeFacts); |
848 | 850 | } |
849 | 851 | // Kill all labels that are propagated along the edge of the |
|
0 commit comments