From df505678c8810364f61bb83774dc0ad937d1355a Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Wed, 4 Jan 2023 09:40:08 +0100 Subject: [PATCH 01/10] Move generic stuff out of PhasarLLVM + add separate libraries for phasar_* and phasar_llvm_* --- .github/CODEOWNERS | 10 +- cmake/phasar_macros.cmake | 10 +- .../AnalysisStrategy/AnalysisSetup.h | 0 .../AnalysisStrategy/DemandDrivenAnalysis.h | 0 .../IncrementalUpdateAnalysis.h | 0 .../AnalysisStrategy/ModuleWiseAnalysis.h | 0 .../AnalysisStrategy/Strategies.def | 0 .../AnalysisStrategy/Strategies.h | 2 +- .../AnalysisStrategy/VariationalAnalysis.h | 3 +- .../{PhasarLLVM => }/ControlFlow/CFGBase.h | 9 +- .../{PhasarLLVM => }/ControlFlow/ICFGBase.h | 9 +- .../ControlFlow/SpecialMemberFunctionType.def | 0 .../ControlFlow/SpecialMemberFunctionType.h | 2 +- .../phasar/Controller/AnalysisController.h | 18 +- .../IfdsIde/EdgeFunctionComposer.h | 2 +- .../IfdsIde/EdgeFunctions.h | 0 .../IfdsIde/FlowFunctions.h | 0 .../IfdsIde/IDETabulationProblem.h | 22 +- .../IfdsIde/IFDSIDESolverConfig.h | 0 .../IfdsIde/IFDSTabulationProblem.h | 8 +- .../IfdsIde/InitialSeeds.h | 35 +-- .../IfdsIde/Solver}/FlowEdgeFunctionCache.h | 8 +- .../IfdsIde/Solver/IDESolver.h | 25 +- .../IfdsIde/Solver/IFDSSolver.h | 9 +- .../IfdsIde/Solver/JumpFunctions.h | 3 +- .../IfdsIde/Solver/PathEdge.h | 32 +-- .../IfdsIde}/SolverResults.h | 2 +- .../{PhasarLLVM => }/Domain/AnalysisDomain.h | 0 .../Utils => Domain}/BinaryDomain.h | 0 .../Utils => Domain}/LatticeDomain.h | 11 + .../ControlFlow/LLVMBasedBackwardCFG.h | 1 - .../ControlFlow/LLVMBasedBackwardICFG.h | 2 +- .../PhasarLLVM/ControlFlow/LLVMBasedCFG.h | 2 +- .../PhasarLLVM/ControlFlow/LLVMBasedICFG.h | 2 +- .../ControlFlow/Resolver/RTAResolver.h | 2 + .../{ => PhasarLLVM}/DB/LLVMProjectIRDB.h | 0 .../BranchSwitchInstFlowFunction.h | 2 +- .../FlowFunctions/CallToRetFlowFunction.h | 2 +- .../FlowFunctions/CheckOperandsFlowFunction.h | 2 +- .../FlowFunctions/FlowFunctionBase.h | 4 +- .../FlowFunctions/GEPInstFlowFunction.h | 2 +- .../FlowFunctions/GenerateFlowFunction.h | 2 +- .../FlowFunctions/IdentityFlowFunction.h | 2 +- .../FlowFunctions/MapTaintedValuesToCallee.h | 6 +- .../FlowFunctions/MapTaintedValuesToCaller.h | 6 +- .../FlowFunctions/MemSetInstFlowFunction.h | 2 +- .../MemTransferInstFlowFunction.h | 2 +- .../FlowFunctions/PHINodeFlowFunction.h | 2 +- .../FlowFunctions/ReturnInstFlowFunction.h | 2 +- .../FlowFunctions/StoreInstFlowFunction.h | 2 +- .../FlowFunctions/VAEndInstFlowFunction.h | 2 +- .../FlowFunctions/VAStartInstFlowFunction.h | 2 +- .../Stats/LcovRetValWriter.h | 0 .../Stats/LcovWriter.h | 0 .../Stats/LineNumberEntry.h | 0 .../Stats/LineNumberWriter.h | 0 .../Stats/TraceStats.h | 0 .../Stats/TraceStatsWriter.h | 0 .../Utils/DataFlowUtils.h | 2 +- .../Utils}/ExtendedValue.h | 0 .../IFDSFieldSensTaintAnalysis/Utils/Log.h | 0 .../IfdsIde/LLVMFlowFunctions.h | 4 +- .../IfdsIde/LLVMZeroValue.h | 0 .../AbstractMemoryLocation.h | 2 +- .../AbstractMemoryLocationFactory.h | 2 +- .../ComposeEdgeFunction.h | 2 +- .../ExtendedTaintAnalysis/DebugEdgeIdentity.h | 4 +- .../ExtendedTaintAnalysis/EdgeDomain.h | 2 +- .../ExtendedTaintAnalysis/GenEdgeFunction.h | 2 +- .../Problems/ExtendedTaintAnalysis/Helpers.h | 6 +- .../JoinConstEdgeFunction.h | 2 +- .../ExtendedTaintAnalysis/JoinEdgeFunction.h | 4 +- .../KillIfSanitizedEdgeFunction.h | 4 +- .../TransferEdgeFunction.h | 2 +- .../XTaintAnalysisBase.h | 0 .../XTaintEdgeFunctionBase.h | 4 +- .../Problems/IDEExtendedTaintAnalysis.h | 18 +- .../Problems/IDEGeneralizedLCA/AllBot.h | 4 +- .../IDEGeneralizedLCA/BinaryEdgeFunction.h | 6 +- .../IDEGeneralizedLCA/ConstantHelper.h | 0 .../Problems/IDEGeneralizedLCA/EdgeValue.h | 0 .../Problems/IDEGeneralizedLCA/EdgeValueSet.h | 2 +- .../Problems/IDEGeneralizedLCA/GenConstant.h | 4 +- .../IDEGeneralizedLCA/IDEGeneralizedLCA.h | 6 +- .../IDEGeneralizedLCA/JoinEdgeFunction.h | 4 +- .../LCAEdgeFunctionComposer.h | 6 +- .../MapFactsToCalleeFlowFunction.h | 2 +- .../MapFactsToCallerFlowFunction.h | 4 +- .../IDEGeneralizedLCA/TypecastEdgeFunction.h | 6 +- .../Problems/IDEInstInteractionAnalysis.h | 16 +- .../Problems/IDELinearConstantAnalysis.h | 6 +- .../IfdsIde/Problems/IDEProtoAnalysis.h | 2 +- .../Problems/IDESecureHeapPropagation.h | 2 +- .../IfdsIde/Problems/IDESolverTest.h | 2 +- .../IfdsIde/Problems/IDETypeStateAnalysis.h | 2 +- .../IfdsIde/Problems/IFDSConstAnalysis.h | 2 +- .../Problems/IFDSFieldSensTaintAnalysis.h | 8 +- .../IfdsIde/Problems/IFDSProtoAnalysis.h | 2 +- .../IfdsIde/Problems/IFDSSignAnalysis.h | 2 +- .../IfdsIde/Problems/IFDSSolverTest.h | 2 +- .../IfdsIde/Problems/IFDSTaintAnalysis.h | 2 +- .../IfdsIde/Problems/IFDSTypeAnalysis.h | 2 +- .../Problems/IFDSUninitializedVariables.h | 2 +- .../CSTDFILEIOTypeStateDescription.h | 2 +- .../OpenSSLEVPKDFCTXDescription.h | 8 +- .../OpenSSLEVPKDFDescription.h | 2 +- .../OpenSSLSecureHeapDescription.h | 8 +- .../OpenSSLSecureMemoryDescription.h | 2 +- .../TypeStateDescription.h | 0 .../IfdsIde/SpecialSummaries.h | 6 +- .../Mono/CallString.h | 0 .../Mono/Contexts/CallStringCTX.h | 0 .../Mono/InterMonoProblem.h | 4 +- .../Mono/IntraMonoProblem.h | 6 +- .../InterMonoFullConstantPropagation.h | 6 +- .../Mono/Problems/InterMonoSolverTest.h | 2 +- .../Mono/Problems/InterMonoTaintAnalysis.h | 2 +- .../IntraMonoFullConstantPropagation.h | 4 +- .../Mono/Problems/IntraMonoSolverTest.h | 2 +- .../Mono/Problems/IntraMonoUninitVariables.h | 2 +- .../Mono/Solver/InterMonoSolver.h | 4 +- .../Mono/Solver/IntraMonoSolver.h | 2 +- .../PhasarLLVM/Domain/LLVMAnalysisDomain.h | 2 +- .../{AnalysisStrategy => }/HelperAnalyses.h | 2 +- .../HelperAnalysisConfig.h | 2 +- .../Pointer/DynamicPointsToSetPtr.h | 230 ------------------ .../Pointer/LLVMBasedPointsToAnalysis.h | 2 +- .../PhasarLLVM/Pointer/LLVMPointsToGraph.h | 8 +- .../PhasarLLVM/Pointer/LLVMPointsToInfo.h | 2 +- .../PhasarLLVM/Pointer/LLVMPointsToSet.h | 16 +- .../TypeHierarchy/LLVMTypeHierarchy.h | 2 +- .../PhasarLLVM/TypeHierarchy/LLVMVFTable.h | 2 +- include/phasar/PhasarLLVM/Utils/Printer.h | 163 ------------- .../Pointer/PointerAnalysisType.def | 0 .../Pointer/PointerAnalysisType.h | 2 +- .../{PhasarLLVM => }/Pointer/PointsToInfo.h | 6 +- .../Pointer/PointsToSetOwner.h | 6 +- .../TypeHierarchy/TypeHierarchy.h | 2 +- .../{PhasarLLVM => }/TypeHierarchy/VFTable.h | 0 include/phasar/Utils/BoxedPointer.h | 210 ++++++++++++++++ include/phasar/{PhasarLLVM => }/Utils/ByRef.h | 0 .../phasar/{PhasarLLVM => }/Utils/DOTGraph.h | 0 .../IfdsIde => Utils}/JoinLattice.h | 0 include/phasar/Utils/Printer.h | 97 ++++++++ include/phasar/Utils/TypeTraits.h | 6 +- .../AnalysisStrategy/CMakeLists.txt | 1 - .../AnalysisStrategy/Strategies.cpp | 8 +- lib/CMakeLists.txt | 3 + lib/ControlFlow/CMakeLists.txt | 26 ++ .../ControlFlow/SpecialMemberFunctionType.cpp | 10 +- lib/Controller/AnalysisController.cpp | 6 +- .../AnalysisControllerXIDECSTDIOTS.cpp | 4 +- lib/Controller/AnalysisControllerXIDEIIA.cpp | 2 +- .../AnalysisControllerXIDELinearConst.cpp | 2 +- .../AnalysisControllerXIDEOpenSSLTS.cpp | 4 +- .../AnalysisControllerXIDESolverTest.cpp | 2 +- .../AnalysisControllerXIDEXTaint.cpp | 2 +- .../AnalysisControllerXIFDSConst.cpp | 2 +- .../AnalysisControllerXIFDSFieldSensTaint.cpp | 2 +- .../AnalysisControllerXIFDSSolverTest.cpp | 2 +- .../AnalysisControllerXIFDSTaint.cpp | 2 +- .../AnalysisControllerXIFDSType.cpp | 2 +- .../AnalysisControllerXIFDSUninit.cpp | 2 +- ...AnalysisControllerXInterMonoSolverTest.cpp | 2 +- .../AnalysisControllerXInterMonoTaint.cpp | 2 +- ...alysisControllerXIntraMonoFullConstant.cpp | 2 +- ...AnalysisControllerXIntraMonoSolverTest.cpp | 2 +- lib/Controller/CMakeLists.txt | 10 +- lib/PhasarLLVM/CMakeLists.txt | 30 ++- lib/PhasarLLVM/ControlFlow/CMakeLists.txt | 11 +- .../ControlFlow/LLVMBasedBackwardCFG.cpp | 2 +- lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp | 2 +- lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp | 2 +- .../ControlFlow/LLVMBasedICFGExportsImpl.cpp | 2 +- .../ControlFlow/LLVMBasedICFGGlobalsImpl.cpp | 2 +- .../ControlFlow/Resolver/RTAResolver.cpp | 2 +- .../ControlFlow/Resolver/Resolver.cpp | 2 +- lib/PhasarLLVM/DB/CMakeLists.txt | 29 +++ lib/{ => PhasarLLVM}/DB/LLVMProjectIRDB.cpp | 2 +- .../CMakeLists.txt | 0 .../IfdsIde/CMakeLists.txt | 13 +- .../BranchSwitchInstFlowFunction.cpp | 2 +- .../FlowFunctions/CallToRetFlowFunction.cpp | 2 +- .../CheckOperandsFlowFunction.cpp | 2 +- .../FlowFunctions/FlowFunctionBase.cpp | 2 +- .../FlowFunctions/GEPInstFlowFunction.cpp | 2 +- .../FlowFunctions/GenerateFlowFunction.cpp | 2 +- .../FlowFunctions/IdentityFlowFunction.cpp | 2 +- .../MapTaintedValuesToCallee.cpp | 6 +- .../MapTaintedValuesToCaller.cpp | 6 +- .../FlowFunctions/MemSetInstFlowFunction.cpp | 2 +- .../MemTransferInstFlowFunction.cpp | 2 +- .../FlowFunctions/PHINodeFlowFunction.cpp | 2 +- .../FlowFunctions/ReturnInstFlowFunction.cpp | 2 +- .../FlowFunctions/StoreInstFlowFunction.cpp | 2 +- .../FlowFunctions/VAEndInstFlowFunction.cpp | 2 +- .../FlowFunctions/VAStartInstFlowFunction.cpp | 2 +- .../Stats/LcovRetValWriter.cpp | 2 +- .../Stats/LcovWriter.cpp | 2 +- .../Stats/LineNumberWriter.cpp | 2 +- .../Stats/TraceStats.cpp | 4 +- .../Utils/DataFlowUtils.cpp | 4 +- .../IfdsIde/IFDSIDESolverConfig.cpp | 2 +- .../IfdsIde/LLVMZeroValue.cpp | 2 +- .../AbstractMemoryLocation.cpp | 2 +- .../AbstractMemoryLocationFactory.cpp | 2 +- .../ComposeEdgeFunction.cpp | 10 +- .../DebugEdgeIdentity.cpp | 2 +- .../ExtendedTaintAnalysis/EdgeDomain.cpp | 2 +- .../ExtendedTaintAnalysis/GenEdgeFunction.cpp | 12 +- .../ExtendedTaintAnalysis/Helpers.cpp | 10 +- .../JoinConstEdgeFunction.cpp | 10 +- .../JoinEdgeFunction.cpp | 10 +- .../KillIfSanitizedEdgeFunction.cpp | 10 +- .../TransferEdgeFunction.cpp | 4 +- .../XTaintAnalysisBase.cpp | 2 +- .../XTaintEdgeFunctionBase.cpp | 12 +- .../Problems/IDEExtendedTaintAnalysis.cpp | 16 +- .../Problems/IDEGeneralizedLCA/AllBot.cpp | 6 +- .../IDEGeneralizedLCA/BinaryEdgeFunction.cpp | 6 +- .../IDEGeneralizedLCA/ConstantHelper.cpp | 2 +- .../Problems/IDEGeneralizedLCA/EdgeValue.cpp | 4 +- .../IDEGeneralizedLCA/EdgeValueSet.cpp | 2 +- .../IDEGeneralizedLCA/GenConstant.cpp | 8 +- .../IDEGeneralizedLCA/IDEGeneralizedLCA.cpp | 29 +-- .../IDEGeneralizedLCA/JoinEdgeFunction.cpp | 12 +- .../LCAEdgeFunctionComposer.cpp | 12 +- .../MapFactsToCalleeFlowFunction.cpp | 8 +- .../MapFactsToCallerFlowFunction.cpp | 4 +- .../TypecastEdgeFunction.cpp | 8 +- .../Problems/IDEInstInteractionAnalysis.cpp | 2 +- .../Problems/IDELinearConstantAnalysis.cpp | 14 +- .../IfdsIde/Problems/IDEProtoAnalysis.cpp | 6 +- .../Problems/IDESecureHeapPropagation.cpp | 8 +- .../IfdsIde/Problems/IDESolverTest.cpp | 10 +- .../IfdsIde/Problems/IDETypeStateAnalysis.cpp | 14 +- .../IfdsIde/Problems/IFDSConstAnalysis.cpp | 8 +- .../Problems/IFDSFieldSensTaintAnalysis.cpp | 46 ++-- .../IfdsIde/Problems/IFDSProtoAnalysis.cpp | 6 +- .../IfdsIde/Problems/IFDSSignAnalysis.cpp | 6 +- .../IfdsIde/Problems/IFDSSolverTest.cpp | 6 +- .../IfdsIde/Problems/IFDSTaintAnalysis.cpp | 8 +- .../IfdsIde/Problems/IFDSTypeAnalysis.cpp | 8 +- .../Problems/IFDSUninitializedVariables.cpp | 8 +- .../CSTDFILEIOTypeStateDescription.cpp | 2 +- .../OpenSSLEVPKDFCTXDescription.cpp | 4 +- .../OpenSSLEVPKDFDescription.cpp | 2 +- .../OpenSSLSecureHeapDescription.cpp | 2 +- .../OpenSSLSecureMemoryDescription.cpp | 2 +- .../Mono/CMakeLists.txt | 2 +- .../InterMonoFullConstantPropagation.cpp | 4 +- .../Mono/Problems/InterMonoSolverTest.cpp | 4 +- .../Mono/Problems/InterMonoTaintAnalysis.cpp | 4 +- .../IntraMonoFullConstantPropagation.cpp | 4 +- .../Mono/Problems/IntraMonoSolverTest.cpp | 4 +- .../Problems/IntraMonoUninitVariables.cpp | 4 +- .../{AnalysisStrategy => }/HelperAnalyses.cpp | 4 +- lib/PhasarLLVM/Pointer/CMakeLists.txt | 9 +- .../Pointer/LLVMBasedPointsToAnalysis.cpp | 2 +- lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp | 14 +- lib/PhasarLLVM/TaintConfig/TaintConfig.cpp | 2 +- lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt | 8 +- .../TypeHierarchy/LLVMTypeHierarchy.cpp | 2 +- lib/PhasarLLVM/Utils/BinaryDomain.cpp | 2 +- lib/PhasarLLVM/Utils/LLVMShorthands.cpp | 2 +- lib/PhasarPass/CMakeLists.txt | 10 +- lib/PhasarPass/PhasarPass.cpp | 38 +-- lib/Pointer/CMakeLists.txt | 29 +++ .../Pointer/PointerAnalysisType.cpp | 8 +- lib/{PhasarLLVM => }/Utils/DOTGraph.cpp | 2 +- out/.gitkeep | 0 tools/example-tool/CMakeLists.txt | 9 +- tools/example-tool/myphasartool.cpp | 12 +- tools/phasar-llvm/CMakeLists.txt | 11 +- tools/phasar-llvm/phasar-llvm.cpp | 12 +- .../ControlFlow/LLVMBasedBackwardCFGTest.cpp | 2 +- .../ControlFlow/LLVMBasedCFGTest.cpp | 4 +- .../ControlFlow/LLVMBasedICFGExportTest.cpp | 2 +- .../LLVMBasedICFGGlobCtorDtorTest.cpp | 6 +- .../ControlFlow/LLVMBasedICFGTest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_CHATest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_DTATest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_OTFTest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_RTATest.cpp | 2 +- .../IfdsIde/EdgeFunctionComposerTest.cpp | 4 +- .../EdgeFunctionSingletonFactoryTest.cpp | 2 +- .../Problems/IDEExtendedTaintAnalysisTest.cpp | 6 +- .../Problems/IDEGeneralizedLCATest.cpp | 7 +- .../IDEInstInteractionAnalysisTest.cpp | 6 +- .../IDELinearConstantAnalysisTest.cpp | 6 +- .../IDELinearConstantAnalysis_DotTest.cpp | 6 +- .../Problems/IDETSAnalysisFileIOTest.cpp | 8 +- .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 8 +- .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 8 +- .../IDETSAnalysisOpenSSLSecureMemoryTest.cpp | 6 +- .../Problems/IFDSConstAnalysisTest.cpp | 6 +- .../Problems/IFDSTaintAnalysisTest.cpp | 6 +- .../IFDSUninitializedVariablesTest.cpp | 6 +- .../InterMonoFullConstantPropagationTest.cpp | 8 +- .../Mono/InterMonoTaintAnalysisTest.cpp | 8 +- .../IntraMonoFullConstantPropagationTest.cpp | 8 +- .../Mono/IntraMonoUninitVariablesTest.cpp | 6 +- .../LLVMPointsToSetSerializationTest.cpp | 2 +- .../Pointer/LLVMPointsToSetTest.cpp | 2 +- .../TaintConfig/TaintConfigTest.cpp | 2 +- .../TypeHierarchy/LLVMTypeHierarchyTest.cpp | 2 +- .../TypeHierarchy/TypeGraphTest.cpp | 2 +- .../PhasarLLVM/Utils/LatticeDomainTest.cpp | 2 +- unittests/Utils/LLVMIRToSrcTest.cpp | 2 +- unittests/Utils/LLVMShorthandsTest.cpp | 2 +- 310 files changed, 1120 insertions(+), 1110 deletions(-) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/AnalysisSetup.h (100%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/DemandDrivenAnalysis.h (100%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/IncrementalUpdateAnalysis.h (100%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/ModuleWiseAnalysis.h (100%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/Strategies.def (100%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/Strategies.h (94%) rename include/phasar/{PhasarLLVM => }/AnalysisStrategy/VariationalAnalysis.h (86%) rename include/phasar/{PhasarLLVM => }/ControlFlow/CFGBase.h (96%) rename include/phasar/{PhasarLLVM => }/ControlFlow/ICFGBase.h (95%) rename include/phasar/{PhasarLLVM => }/ControlFlow/SpecialMemberFunctionType.def (100%) rename include/phasar/{PhasarLLVM => }/ControlFlow/SpecialMemberFunctionType.h (93%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/EdgeFunctionComposer.h (98%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/EdgeFunctions.h (100%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/FlowFunctions.h (100%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/IDETabulationProblem.h (86%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/IFDSIDESolverConfig.h (100%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/IFDSTabulationProblem.h (93%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/InitialSeeds.h (70%) rename include/phasar/{PhasarLLVM/DataFlowSolver/IfdsIde => DataFlow/IfdsIde/Solver}/FlowEdgeFunctionCache.h (99%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/Solver/IDESolver.h (98%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/Solver/IFDSSolver.h (91%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/Solver/JumpFunctions.h (98%) rename include/phasar/{PhasarLLVM/DataFlowSolver => DataFlow}/IfdsIde/Solver/PathEdge.h (67%) rename include/phasar/{PhasarLLVM/DataFlowSolver/IfdsIde/Solver => DataFlow/IfdsIde}/SolverResults.h (97%) rename include/phasar/{PhasarLLVM => }/Domain/AnalysisDomain.h (100%) rename include/phasar/{PhasarLLVM/Utils => Domain}/BinaryDomain.h (100%) rename include/phasar/{PhasarLLVM/Utils => Domain}/LatticeDomain.h (93%) rename include/phasar/{ => PhasarLLVM}/DB/LLVMProjectIRDB.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h (87%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h (87%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h (83%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h (82%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h (87%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h (86%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h (97%) rename include/phasar/PhasarLLVM/{Domain => DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils}/ExtendedValue.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/LLVMFlowFunctions.h (99%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/LLVMZeroValue.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h (99%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h (91%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h (89%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h (92%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h (91%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h (93%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h (94%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h (88%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h (91%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h (91%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEExtendedTaintAnalysis.h (94%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h (82%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h (84%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h (92%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h (87%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h (93%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h (89%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h (82%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h (91%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h (89%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h (83%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEInstInteractionAnalysis.h (99%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDELinearConstantAnalysis.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEProtoAnalysis.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDESecureHeapPropagation.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDESolverTest.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETypeStateAnalysis.h (98%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSConstAnalysis.h (99%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h (92%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSProtoAnalysis.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSSignAnalysis.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSSolverTest.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSTaintAnalysis.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSTypeAnalysis.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSUninitializedVariables.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h (93%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h (89%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h (95%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/SpecialSummaries.h (95%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/CallString.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Contexts/CallStringCTX.h (100%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/InterMonoProblem.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/IntraMonoProblem.h (96%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoFullConstantPropagation.h (93%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoSolverTest.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoTaintAnalysis.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoFullConstantPropagation.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoSolverTest.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoUninitVariables.h (97%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Solver/InterMonoSolver.h (99%) rename include/phasar/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Solver/IntraMonoSolver.h (98%) rename include/phasar/PhasarLLVM/{AnalysisStrategy => }/HelperAnalyses.h (96%) rename include/phasar/PhasarLLVM/{AnalysisStrategy => }/HelperAnalysisConfig.h (94%) delete mode 100644 include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h delete mode 100644 include/phasar/PhasarLLVM/Utils/Printer.h rename include/phasar/{PhasarLLVM => }/Pointer/PointerAnalysisType.def (100%) rename include/phasar/{PhasarLLVM => }/Pointer/PointerAnalysisType.h (95%) rename include/phasar/{PhasarLLVM => }/Pointer/PointsToInfo.h (92%) rename include/phasar/{PhasarLLVM => }/Pointer/PointsToSetOwner.h (92%) rename include/phasar/{PhasarLLVM => }/TypeHierarchy/TypeHierarchy.h (97%) rename include/phasar/{PhasarLLVM => }/TypeHierarchy/VFTable.h (100%) create mode 100644 include/phasar/Utils/BoxedPointer.h rename include/phasar/{PhasarLLVM => }/Utils/ByRef.h (100%) rename include/phasar/{PhasarLLVM => }/Utils/DOTGraph.h (100%) rename include/phasar/{PhasarLLVM/DataFlowSolver/IfdsIde => Utils}/JoinLattice.h (100%) create mode 100644 include/phasar/Utils/Printer.h rename lib/{PhasarLLVM => }/AnalysisStrategy/CMakeLists.txt (98%) rename lib/{PhasarLLVM => }/AnalysisStrategy/Strategies.cpp (86%) create mode 100644 lib/ControlFlow/CMakeLists.txt rename lib/{PhasarLLVM => }/ControlFlow/SpecialMemberFunctionType.cpp (83%) create mode 100644 lib/PhasarLLVM/DB/CMakeLists.txt rename lib/{ => PhasarLLVM}/DB/LLVMProjectIRDB.cpp (99%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/CMakeLists.txt (100%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/CMakeLists.txt (64%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp (92%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp (90%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp (82%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp (96%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp (91%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp (72%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp (63%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp (92%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp (91%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp (82%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp (95%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp (85%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp (88%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp (90%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp (91%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp (95%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp (90%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp (85%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp (99%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/IFDSIDESolverConfig.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/LLVMZeroValue.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp (99%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp (74%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp (85%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp (87%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp (84%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp (91%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp (75%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp (88%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp (76%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp (80%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp (87%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp (90%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp (95%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp (92%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp (86%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp (93%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp (85%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp (78%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp (88%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp (91%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp (79%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDELinearConstantAnalysis.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEProtoAnalysis.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDESecureHeapPropagation.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDESolverTest.cpp (96%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETypeStateAnalysis.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSConstAnalysis.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp (76%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSProtoAnalysis.cpp (95%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSSignAnalysis.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSSolverTest.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSTaintAnalysis.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSTypeAnalysis.cpp (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSUninitializedVariables.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/CMakeLists.txt (94%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoFullConstantPropagation.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoSolverTest.cpp (97%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/InterMonoTaintAnalysis.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoFullConstantPropagation.cpp (98%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoSolverTest.cpp (95%) rename lib/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/Problems/IntraMonoUninitVariables.cpp (96%) rename lib/PhasarLLVM/{AnalysisStrategy => }/HelperAnalyses.cpp (95%) create mode 100644 lib/Pointer/CMakeLists.txt rename lib/{PhasarLLVM => }/Pointer/PointerAnalysisType.cpp (90%) rename lib/{PhasarLLVM => }/Utils/DOTGraph.cpp (99%) delete mode 100644 out/.gitkeep diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5a7c35be2..6b1c5ef8c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,11 +12,11 @@ /img @pdschubert -/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h @pdschubert @vulder -/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ @fabianbs96 -/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h @fabianbs96 -/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp @fabianbs96 -/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ @fabianbs96 +/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h @pdschubert @vulder +/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ @fabianbs96 +/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h @fabianbs96 +/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp @fabianbs96 +/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ @fabianbs96 /include/phasar/PhasarLLVM/AnalysisStrategy/ @pdschubert diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake index 67411042f..c3a9b1bc3 100644 --- a/cmake/phasar_macros.cmake +++ b/cmake/phasar_macros.cmake @@ -16,17 +16,17 @@ function(add_phasar_unittest test_name) LINK_PUBLIC phasar_config phasar_controller - phasar_controlflow + phasar_llvm_controlflow phasar_phasarllvm_utils phasar_analysis_strategy - phasar_ifdside + phasar_llvm_ifdside phasar_utils phasar_mono - phasar_db + phasar_llvm_db # phasar_clang phasar_passes - phasar_pointer - phasar_typehierarchy + phasar_llvm_pointer + phasar_llvm_typehierarchy phasar_taintconfig nlohmann_json_schema_validator ${SQLITE3_LIBRARY} diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h b/include/phasar/AnalysisStrategy/AnalysisSetup.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h rename to include/phasar/AnalysisStrategy/AnalysisSetup.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h b/include/phasar/AnalysisStrategy/DemandDrivenAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h rename to include/phasar/AnalysisStrategy/DemandDrivenAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h b/include/phasar/AnalysisStrategy/IncrementalUpdateAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h rename to include/phasar/AnalysisStrategy/IncrementalUpdateAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h b/include/phasar/AnalysisStrategy/ModuleWiseAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h rename to include/phasar/AnalysisStrategy/ModuleWiseAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def b/include/phasar/AnalysisStrategy/Strategies.def similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def rename to include/phasar/AnalysisStrategy/Strategies.def diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h b/include/phasar/AnalysisStrategy/Strategies.h similarity index 94% rename from include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h rename to include/phasar/AnalysisStrategy/Strategies.h index 91c38d0f1..16c17655e 100644 --- a/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h +++ b/include/phasar/AnalysisStrategy/Strategies.h @@ -24,7 +24,7 @@ namespace psr { enum class AnalysisStrategy { None, #define ANALYSIS_STRATEGY_TYPES(NAME, CMDFLAG, DESC) NAME, -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.def" +#include "phasar/AnalysisStrategy/Strategies.def" }; diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h b/include/phasar/AnalysisStrategy/VariationalAnalysis.h similarity index 86% rename from include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h rename to include/phasar/AnalysisStrategy/VariationalAnalysis.h index 90e3f753f..f5c708859 100644 --- a/include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h +++ b/include/phasar/AnalysisStrategy/VariationalAnalysis.h @@ -12,8 +12,7 @@ #include -#include "phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h" +#include "phasar/AnalysisStrategy/AnalysisSetup.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/ControlFlow/CFGBase.h b/include/phasar/ControlFlow/CFGBase.h similarity index 96% rename from include/phasar/PhasarLLVM/ControlFlow/CFGBase.h rename to include/phasar/ControlFlow/CFGBase.h index a3e707e3b..d6d65af93 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/CFGBase.h +++ b/include/phasar/ControlFlow/CFGBase.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_CFGBASE_H #define PHASAR_PHASARLLVM_CONTROLFLOW_CFGBASE_H -#include "phasar/PhasarLLVM/Utils/ByRef.h" +#include "phasar/Utils/ByRef.h" #include "phasar/Utils/TypeTraits.h" #include "nlohmann/json.hpp" @@ -144,9 +144,10 @@ template class CFGBase { template // NOLINTNEXTLINE(readability-identifier-naming) -constexpr bool is_cfg_v = is_crtp_base_of_v - &&std::is_same_v - &&std::is_same_v; +constexpr bool is_cfg_v = + is_crtp_base_of_v && + std::is_same_v && + std::is_same_v; } // namespace psr diff --git a/include/phasar/PhasarLLVM/ControlFlow/ICFGBase.h b/include/phasar/ControlFlow/ICFGBase.h similarity index 95% rename from include/phasar/PhasarLLVM/ControlFlow/ICFGBase.h rename to include/phasar/ControlFlow/ICFGBase.h index 680a4e393..822fb97b4 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/ICFGBase.h +++ b/include/phasar/ControlFlow/ICFGBase.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_ICFGBASE_H #define PHASAR_PHASARLLVM_CONTROLFLOW_ICFGBASE_H -#include "phasar/PhasarLLVM/ControlFlow/CFGBase.h" +#include "phasar/ControlFlow/CFGBase.h" #include "phasar/Utils/TypeTraits.h" #include "nlohmann/json.hpp" @@ -124,9 +124,10 @@ template class ICFGBase { /// from the given analysis-Domain template // NOLINTNEXTLINE(readability-identifier-naming) -constexpr bool is_icfg_v = is_crtp_base_of_v - &&std::is_same_v - &&std::is_same_v; +constexpr bool is_icfg_v = + is_crtp_base_of_v && + std::is_same_v && + std::is_same_v; } // namespace psr diff --git a/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def b/include/phasar/ControlFlow/SpecialMemberFunctionType.def similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def rename to include/phasar/ControlFlow/SpecialMemberFunctionType.def diff --git a/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h b/include/phasar/ControlFlow/SpecialMemberFunctionType.h similarity index 93% rename from include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h rename to include/phasar/ControlFlow/SpecialMemberFunctionType.h index 9f6e488b0..b6e86f6c2 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h +++ b/include/phasar/ControlFlow/SpecialMemberFunctionType.h @@ -29,7 +29,7 @@ namespace psr { enum class SpecialMemberFunctionType { #define SPECIAL_MEMBER_FUNCTION_TYPES(NAME, TYPE) TYPE, -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def" +#include "phasar/ControlFlow/SpecialMemberFunctionType.def" }; std::string toString(SpecialMemberFunctionType SMFT); diff --git a/include/phasar/Controller/AnalysisController.h b/include/phasar/Controller/AnalysisController.h index ae057daba..adb39bc97 100644 --- a/include/phasar/Controller/AnalysisController.h +++ b/include/phasar/Controller/AnalysisController.h @@ -10,17 +10,17 @@ #ifndef PHASAR_CONTROLLER_ANALYSISCONTROLLER_H #define PHASAR_CONTROLLER_ANALYSISCONTROLLER_H +#include "phasar/AnalysisStrategy/Strategies.h" #include "phasar/Controller/AnalysisControllerEmitterOptions.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.h" +#include "phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/DataFlow/IfdsIde/SolverResults.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" +#include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h b/include/phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h rename to include/phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h index 0318c6b2a..4487b83fc 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h +++ b/include/phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_EDGEFUNCTIONCOMPOSER_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_EDGEFUNCTIONCOMPOSER_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h b/include/phasar/DataFlow/IfdsIde/EdgeFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h rename to include/phasar/DataFlow/IfdsIde/EdgeFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h b/include/phasar/DataFlow/IfdsIde/FlowFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h rename to include/phasar/DataFlow/IfdsIde/FlowFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h b/include/phasar/DataFlow/IfdsIde/IDETabulationProblem.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h rename to include/phasar/DataFlow/IfdsIde/IDETabulationProblem.h index c907b42ed..d996e4ad1 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h +++ b/include/phasar/DataFlow/IfdsIde/IDETabulationProblem.h @@ -10,15 +10,15 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IDETABULATIONPROBLEM_H_ #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IDETABULATIONPROBLEM_H_ +#include "phasar/ControlFlow/ICFGBase.h" #include "phasar/DB/ProjectIRDBBase.h" -#include "phasar/PhasarLLVM/ControlFlow/ICFGBase.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h" -#include "phasar/PhasarLLVM/Utils/Printer.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h" +#include "phasar/DataFlow/IfdsIde/InitialSeeds.h" +#include "phasar/DataFlow/IfdsIde/SolverResults.h" +#include "phasar/Utils/JoinLattice.h" +#include "phasar/Utils/Printer.h" #include "phasar/Utils/Soundness.h" #include @@ -55,13 +55,11 @@ class IDETabulationProblem : public FlowFunctions, using ConfigurationTy = HasNoConfigurationType; - explicit IDETabulationProblem(const db_t *IRDB, + explicit IDETabulationProblem(const ProjectIRDBBase *IRDB, std::vector EntryPoints, std::optional ZeroValue) : IRDB(IRDB), EntryPoints(std::move(EntryPoints)), ZeroValue(std::move(ZeroValue)) { - static_assert(std::is_base_of_v, db_t>, - "db_t must implement the ProjectIRDBBase interface!"); assert(IRDB != nullptr); } @@ -128,7 +126,7 @@ class IDETabulationProblem : public FlowFunctions, return generateFlow(std::move(FactToGenerate), getZeroValue()); } - const db_t *IRDB{}; + const ProjectIRDBBase *IRDB{}; std::vector EntryPoints; std::optional ZeroValue; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h b/include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h rename to include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h b/include/phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h rename to include/phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h index d0a5aa284..90f5c000c 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h +++ b/include/phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h @@ -10,9 +10,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSTABULATIONPROBLEM_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSTABULATIONPROBLEM_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" -#include "phasar/PhasarLLVM/Domain/AnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" +#include "phasar/Domain/AnalysisDomain.h" +#include "phasar/Domain/BinaryDomain.h" #include #include @@ -39,7 +39,7 @@ class IFDSTabulationProblem using typename Base::t_t; using typename Base::v_t; - explicit IFDSTabulationProblem(const db_t *IRDB, + explicit IFDSTabulationProblem(const ProjectIRDBBase *IRDB, std::vector EntryPoints, d_t ZeroValue) : Base(IRDB, std::move(EntryPoints), std::move(ZeroValue)) {} diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h b/include/phasar/DataFlow/IfdsIde/InitialSeeds.h similarity index 70% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h rename to include/phasar/DataFlow/IfdsIde/InitialSeeds.h index 7f89d566d..f74e313dd 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h +++ b/include/phasar/DataFlow/IfdsIde/InitialSeeds.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_INITIALSEEDS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_INITIALSEEDS_H -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/Domain/BinaryDomain.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include @@ -72,39 +72,6 @@ template class InitialSeeds { [[nodiscard]] const GeneralizedSeeds &getSeeds() const & { return Seeds; } [[nodiscard]] GeneralizedSeeds getSeeds() && { return std::move(Seeds); } - void dump(llvm::raw_ostream &OS = llvm::errs()) { - - auto printNode = [&](auto &&Node) { // NOLINT - if constexpr (std::is_same_v) { - OS << llvmIRToString(Node); - } else { - OS << Node; - } - }; - - auto printFact = [&](auto &&Node) { // NOLINT - if constexpr (std::is_same_v) { - OS << llvmIRToString(Node); - } else { - OS << Node; - } - }; - - OS << "======================== Initial Seeds ========================\n"; - for (const auto &[Node, Facts] : Seeds) { - OS << "At "; - printNode(Node); - OS << "\n"; - for (const auto &[Fact, Value] : Facts) { - OS << "> "; - printFact(Fact); - OS << " --> \\." << Value << "\n"; - } - OS << "\n"; - } - OS << "========================== End Seeds ==========================\n"; - } - private: GeneralizedSeeds Seeds; }; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h b/include/phasar/DataFlow/IfdsIde/Solver/FlowEdgeFunctionCache.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h rename to include/phasar/DataFlow/IfdsIde/Solver/FlowEdgeFunctionCache.h index d79581fc9..3f5d8a780 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/FlowEdgeFunctionCache.h @@ -20,12 +20,16 @@ #include "llvm/ADT/DenseMap.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/Utils/EquivalenceClassMap.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/PAMMMacros.h" +namespace llvm { +class Value; +} // namespace llvm + namespace psr { template class DefaultMapKeyCompressor { public: diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h b/include/phasar/DataFlow/IfdsIde/Solver/IDESolver.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h rename to include/phasar/DataFlow/IfdsIde/Solver/IDESolver.h index c2ad9949a..8990e4af8 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/IDESolver.h @@ -18,19 +18,18 @@ #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_SOLVER_IDESOLVER_H #include "phasar/Config/Configuration.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h" -#include "phasar/PhasarLLVM/Domain/AnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/DOTGraph.h" -#include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/InitialSeeds.h" +#include "phasar/DataFlow/IfdsIde/Solver/FlowEdgeFunctionCache.h" +#include "phasar/DataFlow/IfdsIde/Solver/JumpFunctions.h" +#include "phasar/DataFlow/IfdsIde/Solver/PathEdge.h" +#include "phasar/DataFlow/IfdsIde/SolverResults.h" +#include "phasar/Domain/AnalysisDomain.h" +#include "phasar/Utils/DOTGraph.h" +#include "phasar/Utils/JoinLattice.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/PAMMMacros.h" #include "phasar/Utils/Table.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h b/include/phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h rename to include/phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h index 12bb215f2..f9ed15d76 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h @@ -17,9 +17,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_SOLVER_IFDSSOLVER_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_SOLVER_IFDSSOLVER_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/Domain/BinaryDomain.h" #include #include @@ -30,9 +30,6 @@ namespace psr { template class IFDSSolver : public IDESolver> { - static_assert(std::is_same_v, - "Expect an IFDS analysis domain"); - public: using ProblemTy = IFDSTabulationProblem; using d_t = typename AnalysisDomainTy::d_t; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h b/include/phasar/DataFlow/IfdsIde/Solver/JumpFunctions.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h rename to include/phasar/DataFlow/IfdsIde/Solver/JumpFunctions.h index 0bf0b2ec7..3fd158073 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/JumpFunctions.h @@ -26,8 +26,7 @@ #include "llvm/ADT/SmallVector.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/Table.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h b/include/phasar/DataFlow/IfdsIde/Solver/PathEdge.h similarity index 67% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h rename to include/phasar/DataFlow/IfdsIde/Solver/PathEdge.h index 1ab42af3c..f247e6d89 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/PathEdge.h @@ -7,35 +7,30 @@ * Philipp Schubert and others *****************************************************************************/ -/* - * PathEdge.h - * - * Created on: 16.08.2016 - * Author: pdschbrt - */ - #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_SOLVER_PATHEDGE_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_SOLVER_PATHEDGE_H -#include +#include "llvm/Support/raw_ostream.h" +#include namespace psr { template class PathEdge { -private: - const N Target; - const D DSource; - const D DTarget; public: - PathEdge(D DSource, N Target, D DTarget) - : Target(Target), DSource(DSource), DTarget(DTarget) {} + PathEdge(D DSource, N Target, D DTarget) noexcept + : Target(std::move(Target)), DSource(std::move(DSource)), + DTarget(std::move(DTarget)) {} ~PathEdge() = default; - PathEdge(const PathEdge &) = default; + PathEdge(const PathEdge &) noexcept( + std::is_nothrow_copy_constructible_v + &&std::is_nothrow_copy_constructible_v) = default; - PathEdge &operator=(const PathEdge &) = default; + PathEdge &operator=(const PathEdge &) noexcept( + std::is_nothrow_copy_assignable_v + &&std::is_nothrow_copy_assignable_v) = default; PathEdge(PathEdge &&) noexcept = default; @@ -52,6 +47,11 @@ template class PathEdge { return OS << "<" << Edge.DSource << "> -> <" << Edge.Target << "," << Edge.DTarget << ">"; } + +private: + N Target; + D DSource; + D DTarget; }; } // namespace psr diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h b/include/phasar/DataFlow/IfdsIde/SolverResults.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h rename to include/phasar/DataFlow/IfdsIde/SolverResults.h index 506134490..cff8b1087 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h +++ b/include/phasar/DataFlow/IfdsIde/SolverResults.h @@ -22,7 +22,7 @@ #include #include -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/Domain/BinaryDomain.h" #include "phasar/Utils/Table.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/Domain/AnalysisDomain.h b/include/phasar/Domain/AnalysisDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/Domain/AnalysisDomain.h rename to include/phasar/Domain/AnalysisDomain.h diff --git a/include/phasar/PhasarLLVM/Utils/BinaryDomain.h b/include/phasar/Domain/BinaryDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/BinaryDomain.h rename to include/phasar/Domain/BinaryDomain.h diff --git a/include/phasar/PhasarLLVM/Utils/LatticeDomain.h b/include/phasar/Domain/LatticeDomain.h similarity index 93% rename from include/phasar/PhasarLLVM/Utils/LatticeDomain.h rename to include/phasar/Domain/LatticeDomain.h index b04b83089..344e67f15 100644 --- a/include/phasar/PhasarLLVM/Utils/LatticeDomain.h +++ b/include/phasar/Domain/LatticeDomain.h @@ -87,6 +87,17 @@ inline bool operator==(const LatticeDomain &Lhs, return true; } +template +inline bool operator==(const LatticeDomain &Lhs, + psr::Bottom /*Rhs*/) noexcept { + return Lhs.isBottom(); +} + +template +inline bool operator==(const LatticeDomain &Lhs, psr::Top /*Rhs*/) noexcept { + return Lhs.isTop(); +} + template < typename L, typename LL, typename = std::void_t() == std::declval())>> diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h index 9792fca22..a488e9b46 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h +++ b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h @@ -10,7 +10,6 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDBACKWARDCFG_H_ #define PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDBACKWARDCFG_H_ -#include "phasar/PhasarLLVM/ControlFlow/CFGBase.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" namespace llvm { diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h index 61571a8d1..10a342488 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h +++ b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDBACKWARDICFG_H_ #define PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDBACKWARDICFG_H_ -#include "phasar/PhasarLLVM/ControlFlow/ICFGBase.h" +#include "phasar/ControlFlow/ICFGBase.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h" #include "phasar/PhasarLLVM/Utils/LLVMBasedContainerConfig.h" diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h index d1d195433..0c059b69a 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h +++ b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDCFG_H_ #define PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDCFG_H_ -#include "phasar/PhasarLLVM/ControlFlow/CFGBase.h" +#include "phasar/ControlFlow/CFGBase.h" #include "nlohmann/json.hpp" diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h index 3c7182f86..ded077ef7 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h +++ b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h @@ -17,7 +17,7 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDICFG_H_ #define PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDICFG_H_ -#include "phasar/PhasarLLVM/ControlFlow/ICFGBase.h" +#include "phasar/ControlFlow/ICFGBase.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" #include "phasar/PhasarLLVM/Utils/LLVMBasedContainerConfig.h" diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h b/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h index 36cc24162..5b67a4c92 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h +++ b/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h @@ -19,6 +19,8 @@ #include "phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h" +#include + namespace llvm { class CallBase; class StructType; diff --git a/include/phasar/DB/LLVMProjectIRDB.h b/include/phasar/PhasarLLVM/DB/LLVMProjectIRDB.h similarity index 100% rename from include/phasar/DB/LLVMProjectIRDB.h rename to include/phasar/PhasarLLVM/DB/LLVMProjectIRDB.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h similarity index 87% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h index 8744d6a97..75129176f 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_BRANCHSWITCHINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_BRANCHSWITCHINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h index e8dd07049..efa2f22b9 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_CALLTORETFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_CALLTORETFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h index 4dee3bb83..2a9f2f5bf 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_CHECKOPERANDSFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_CHECKOPERANDSFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h similarity index 87% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h index 5eff99559..d1c7fbead 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h @@ -13,8 +13,8 @@ #include "llvm/IR/Instruction.h" #include "llvm/IR/Instructions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/Domain/ExtendedValue.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde//IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h index 85000b4fe..4ebf27b65 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_GEPINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_GEPINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h index 077cf95b9..969e7dd73 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_GENERATEFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_GENERATEFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h index b10b7c732..0aa541206 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_IDENTITYFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_IDENTITYFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h similarity index 83% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h index a24075417..384b1ce67 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h @@ -10,9 +10,9 @@ #include "llvm/IR/AbstractCallSite.h" #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/Domain/ExtendedValue.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde//IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h similarity index 82% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h index 34d0aaf48..f7f9a1502 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h @@ -9,9 +9,9 @@ #include "llvm/IR/Instructions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/Domain/ExtendedValue.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde//IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h index c96ebf6f3..9c12e828b 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_MEMSETINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_MEMSETINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h similarity index 87% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h index 80df2e5dd..7d52a7458 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_MEMTRANSFERINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_MEMTRANSFERINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h index d6499dada..1aa55b8eb 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_PHINODEFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_PHINODEFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h index 80172d59d..700699152 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_RETURNINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_RETURNINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h index a54302f01..c2e121de1 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_STOREINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_STOREINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h index 0f71e7f07..04949dae2 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_VAENDINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_VAENDINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h index 470c06e90..3b7980bc5 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h @@ -5,7 +5,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_VASTARTINSTFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_IFDSFIELDSENSTAINTANALYSIS_FLOWFUNCTIONS_VASTARTINSTFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h index bcd301051..dd322415e 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h @@ -12,7 +12,7 @@ #include "llvm/IR/Instructions.h" -#include "phasar/PhasarLLVM/Domain/ExtendedValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde//IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/Domain/ExtendedValue.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h similarity index 100% rename from include/phasar/PhasarLLVM/Domain/ExtendedValue.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h index f20549334..fb80b0dc7 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h @@ -26,8 +26,8 @@ #include "llvm/IR/Value.h" #include "llvm/Support/Casting.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h index 5ab15978c..7acd678be 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h @@ -26,7 +26,7 @@ #include "llvm/Support/TrailingObjects.h" #include "llvm/Support/raw_ostream.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h index 435afccb4..13f0862c3 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h @@ -19,7 +19,7 @@ #include "llvm/ADT/SmallVector.h" #include "llvm/Support/TrailingObjects.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" namespace llvm { class DataLayout; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h index 478f2a917..a9ebecde5 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_COMPOSEEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_COMPOSEEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace psr::XTaint { class ComposeEdgeFunction : public EdgeFunctionBase { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h similarity index 89% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h index 4c665e880..d6414b11d 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_DEBUGEDGEIDENTITY_H_ #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_DEBUGEDGEIDENTITY_H_ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" namespace llvm { class Instruction; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h index 55594e770..662d2d566 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_EDGEDOMAIN_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_EDGEDOMAIN_H -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" +#include "phasar/Domain/LatticeDomain.h" #include "llvm/ADT/PointerIntPair.h" #include "llvm/IR/Instruction.h" // Need a complete type llvm::Instruction for llvm::PointerIntPair diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h similarity index 92% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h index a90c858e5..3f659f475 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_GENEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_GENEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace llvm { class Instruction; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h index e11a1d302..ab4db44df 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h @@ -20,10 +20,10 @@ #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Instructions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/Domain/LatticeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" namespace llvm { class Instruction; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h index 4e7a025c7..de93aab37 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_JOINCONSTEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_JOINCONSTEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace psr::XTaint { class JoinConstEdgeFunction : public EdgeFunctionBase { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h similarity index 94% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h index ecd2691a7..851c7bb3f 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h @@ -13,8 +13,8 @@ #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/SmallVector.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace psr::XTaint { class JoinEdgeFunction : public EdgeFunctionBase { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h similarity index 88% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h index c2b873eef..163f88f0f 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_KILLIFSANITIZEDEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_KILLIFSANITIZEDEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace psr::XTaint { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h index e2149fc4d..d210083a6 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_TRANSFEREDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_EXTENDEDTAINTANALYSIS_TRANSFEREDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" namespace psr::XTaint { class TransferEdgeFunction : public EdgeFunctionBase { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h index 6f01032d5..c436cf5a4 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h @@ -14,8 +14,8 @@ #include "llvm/ADT/Hashing.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" namespace psr::XTaint { /// A common baseclass for all EdgeFunctions used for the diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h similarity index 94% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h index b2dda23ea..6ca4e2c1d 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h @@ -10,18 +10,18 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEEXTENDEDTAINTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEEXTENDEDTAINTANALYSIS_H -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" +#include "phasar/Domain/LatticeDomain.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallBitVector.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h similarity index 82% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h index c6a07f32c..d1692d70e 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_ALLBOT_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_ALLBOT_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h similarity index 84% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h index 2b3227fd3..78553a923 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h @@ -10,9 +10,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_BINARYEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_BINARYEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h similarity index 92% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h index 495432972..625dccadd 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h @@ -13,7 +13,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h similarity index 87% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h index f5efbc5fb..8c2833030 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_GENCONSTANT_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_GENCONSTANT_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h index 49285fcea..d7c07ba73 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h @@ -10,11 +10,11 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_IDEGENERALIZEDLCA_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_IDEGENERALIZEDLCA_H +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/Printer.h" +#include "phasar/Utils/Printer.h" #include #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h similarity index 89% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h index 92f89a5d4..89f54b3d4 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_JOINEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_JOINEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h similarity index 82% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h index ffc64e127..2340af8f7 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h @@ -10,9 +10,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_LCAEDGEFUNCTIONCOMPOSER_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_LCAEDGEFUNCTIONCOMPOSER_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h similarity index 91% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h index b69c86621..f6a11eb95 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_MAPFACTSTOCALLEEFLOWFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_MAPFACTSTOCALLEEFLOWFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" namespace llvm { class CallBase; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h similarity index 89% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h index 936b4833f..0dc50b6f6 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h @@ -19,8 +19,8 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Value.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace llvm { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h similarity index 83% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h index fc7bb20c0..1d255b29c 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h @@ -10,9 +10,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_TYPECASTEDGEFUNCTION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEGENERALIZEDLCA_TYPECASTEDGEFUNCTION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" namespace psr::glca { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h index 9a69a9eb5..449bfd748 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h @@ -10,20 +10,20 @@ #ifndef PHASAR_PHASARLLVM_IFDSIDE_PROBLEMS_IDEINSTINTERACTIONALYSIS_H #define PHASAR_PHASARLLVM_IFDSIDE_PROBLEMS_IDEINSTINTERACTIONALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/SolverResults.h" +#include "phasar/Domain/LatticeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" #include "phasar/Utils/BitVectorSet.h" #include "phasar/Utils/Logger.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h index e71dc1deb..d74f391b2 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h @@ -10,10 +10,10 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDELINEARCONSTANTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDELINEARCONSTANTANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" +#include "phasar/Domain/LatticeDomain.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" #include "llvm/Support/raw_ostream.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.h index dd0996fdc..20caaf6a4 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEPROTOANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDEPROTOANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h index 9bca773a6..e9a2b5d84 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDESECUREHEAPPROPAGATION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDESECUREHEAPPROPAGATION_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "llvm/ADT/StringRef.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h index a40697cde..19d5165ba 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDESOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDESOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h index efd535d73..13aa05f3a 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDETYPESTATEANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IDETYPESTATEANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IDETabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h index 7c3e4bae7..68fd9e755 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSCONSTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSCONSTANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h similarity index 92% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h index 1c892bc39..a58251785 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h @@ -5,10 +5,10 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSFIELDSENSTAINTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSFIELDSENSTAINTANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/Domain/ExtendedValue.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde//IFDSFieldSensTaintAnalysis/Utils/ExtendedValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.h index a12032852..b978dd452 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSPROTOANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSPROTOANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.h index 7f059e250..a97e4a9c9 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSSIGNANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSSIGNANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h index 286cbbf47..69c0ea3eb 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSSOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSSOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h index 63864b19b..32ca0706d 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSTAINTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSTAINTANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h index 6009ba3ce..b8b4e060c 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSTYPEANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSTYPEANALYSIS_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h index 691549168..46db4b631 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSUNINITIALIZEDVARIABLES_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_IFDSIDE_PROBLEMS_IFDSUNINITIALIZEDVARIABLES_H -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h" +#include "phasar/DataFlow/IfdsIde/IFDSTabulationProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h index 581ebb0ec..99d8eb6d7 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h @@ -14,7 +14,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h index 88bd82fb3..293390300 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h @@ -15,10 +15,10 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/Domain/AnalysisDomain.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/Domain/AnalysisDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" namespace llvm { class Instruction; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h index cc068328d..ebd3e0477 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h @@ -14,7 +14,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" namespace psr { class OpenSSLEVPKDFDescription : public TypeStateDescription { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h similarity index 89% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h index 1f8bde2c2..101ffb088 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h @@ -14,10 +14,10 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/Domain/AnalysisDomain.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/Domain/AnalysisDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h similarity index 95% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h index 9f370012a..71778ad22 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h @@ -14,7 +14,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/SpecialSummaries.h similarity index 95% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h rename to include/phasar/PhasarLLVM/DataFlow/IfdsIde/SpecialSummaries.h index 6612ef74c..9fb481ed0 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/SpecialSummaries.h @@ -24,9 +24,9 @@ #include #include "phasar/Config/Configuration.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/Domain/BinaryDomain.h" #include "phasar/Utils/IO.h" // readFile #include "llvm/IR/Function.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h b/include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h b/include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h index 9efebee1c..edf6af46d 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h @@ -17,8 +17,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_INTERMONOPROBLEM_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_INTERMONOPROBLEM_H -#include "phasar/PhasarLLVM/ControlFlow/ICFGBase.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h" +#include "phasar/ControlFlow/ICFGBase.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/Utils/BitVectorSet.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h b/include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h similarity index 96% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h index 77f8beb26..3065201c4 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h @@ -17,10 +17,10 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_INTRAMONOPROBLEM_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_INTRAMONOPROBLEM_H +#include "phasar/ControlFlow/CFGBase.h" #include "phasar/DB/ProjectIRDBBase.h" -#include "phasar/PhasarLLVM/ControlFlow/CFGBase.h" -#include "phasar/PhasarLLVM/Utils/Printer.h" #include "phasar/Utils/BitVectorSet.h" +#include "phasar/Utils/Printer.h" #include "phasar/Utils/Soundness.h" #include @@ -77,7 +77,7 @@ class IntraMonoProblem : public NodePrinter, "db_t must implement the ProjectIRDBBase interface!"); } - ~IntraMonoProblem() override = default; + virtual ~IntraMonoProblem() = default; virtual mono_container_t normalFlow(n_t Inst, const mono_container_t &In) = 0; diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h index 046f5f0f4..73a0b7078 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h @@ -10,10 +10,10 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOFULLCONSTANTPROPAGATION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOFULLCONSTANTPROPAGATION_H -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h" +#include "phasar/Domain/LatticeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" #include #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h index 7b8cadb5e..05e062e25 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h @@ -17,7 +17,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOSOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOSOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h index ed97f674b..254f20918 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h @@ -18,7 +18,7 @@ #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOTAINTANALYSIS_H #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h index 08aff4aa4..8590e048e 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h @@ -17,9 +17,9 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOFULLCONSTANTPROPAGATION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOFULLCONSTANTPROPAGATION_H -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h" +#include "phasar/Domain/LatticeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" #include "phasar/Utils/BitVectorSet.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h index d0e81b6b6..046df576f 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h @@ -17,7 +17,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOSOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOSOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h similarity index 97% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h index 902a23df9..f2a96d484 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOUNINITVARIABLES_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOUNINITVARIABLES_H -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h similarity index 99% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h index 254ee7eec..2cac894cd 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h @@ -23,8 +23,8 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h rename to include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h index 32d397914..4f0d50286 100644 --- a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h @@ -22,7 +22,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/Utils/BitVectorSet.h" namespace psr { diff --git a/include/phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h b/include/phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h index 68ec9fda9..11490fe20 100644 --- a/include/phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h +++ b/include/phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DOMAIN_LLVMANALYSISDOMAIN_H #define PHASAR_PHASARLLVM_DOMAIN_LLVMANALYSISDOMAIN_H -#include "phasar/PhasarLLVM/Domain/AnalysisDomain.h" +#include "phasar/Domain/AnalysisDomain.h" namespace llvm { class Value; diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h b/include/phasar/PhasarLLVM/HelperAnalyses.h similarity index 96% rename from include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h rename to include/phasar/PhasarLLVM/HelperAnalyses.h index 98abb315c..b1418a1ac 100644 --- a/include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h +++ b/include/phasar/PhasarLLVM/HelperAnalyses.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_ANALYSISSTRATEGY_HELPERANALYSES_H_ #define PHASAR_PHASARLLVM_ANALYSISSTRATEGY_HELPERANALYSES_H_ -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalysisConfig.h" +#include "phasar/PhasarLLVM/HelperAnalysisConfig.h" #include "nlohmann/json.hpp" diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalysisConfig.h b/include/phasar/PhasarLLVM/HelperAnalysisConfig.h similarity index 94% rename from include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalysisConfig.h rename to include/phasar/PhasarLLVM/HelperAnalysisConfig.h index c2492c1bb..cac4a0e07 100644 --- a/include/phasar/PhasarLLVM/AnalysisStrategy/HelperAnalysisConfig.h +++ b/include/phasar/PhasarLLVM/HelperAnalysisConfig.h @@ -11,7 +11,7 @@ #define PHASAR_PHASARLLVM_ANALYSISSTRATEGY_HELPERANALYSISCONFIG_H #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.h" +#include "phasar/Pointer/PointerAnalysisType.h" #include "nlohmann/json.hpp" #include "phasar/Utils/Soundness.h" diff --git a/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h b/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h deleted file mode 100644 index e10922cde..000000000 --- a/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h +++ /dev/null @@ -1,230 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2022 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Fabian Schiebel and others - *****************************************************************************/ - -#ifndef PHASAR_PHASARLLVM_POINTER_DYNAMICPOINTSTOSET_H -#define PHASAR_PHASARLLVM_POINTER_DYNAMICPOINTSTOSET_H - -#include - -#include "llvm/ADT/DenseMapInfo.h" -#include "llvm/ADT/DenseSet.h" -#include "llvm/ADT/Hashing.h" - -namespace llvm { -class Value; -} // namespace llvm - -namespace psr { - -template > -class DynamicPointsToSetConstPtr; -/// A Container** that behaves like a Container* -template > -class DynamicPointsToSetPtr { -public: - using container_type = Container; - - constexpr DynamicPointsToSetPtr() noexcept = default; - constexpr DynamicPointsToSetPtr(std::nullptr_t) noexcept {} - constexpr DynamicPointsToSetPtr(container_type **Value) noexcept - : Value(Value) { - assert(Value != nullptr); - } - constexpr DynamicPointsToSetPtr(const DynamicPointsToSetPtr &) noexcept = - default; - constexpr DynamicPointsToSetPtr & - operator=(const DynamicPointsToSetPtr &) noexcept = default; - ~DynamicPointsToSetPtr() noexcept = default; - - [[nodiscard]] constexpr container_type *get() noexcept { return *Value; } - [[nodiscard]] constexpr const container_type *get() const noexcept { - return *Value; - } - - constexpr container_type *operator->() noexcept { return get(); } - constexpr const container_type *operator->() const noexcept { return get(); } - - constexpr container_type &operator*() noexcept { return **Value; } - constexpr const container_type &operator*() const noexcept { return **Value; } - - constexpr operator bool() const noexcept { - return Value && *Value != nullptr; - } - - [[nodiscard]] constexpr container_type **value() noexcept { return Value; } - [[nodiscard]] constexpr container_type const *const *value() const noexcept { - return Value; - } - - [[nodiscard]] friend constexpr llvm::hash_code - hash_value(DynamicPointsToSetPtr // NOLINT(readability-identifier-naming) - Ptr) noexcept { - return llvm::hash_value(Ptr.Value); - } - - [[nodiscard]] friend constexpr bool - operator==(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return LHS.Value == RHS.Value; - } - [[nodiscard]] friend constexpr bool - operator!=(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return !(LHS == RHS); - } - - [[nodiscard]] friend constexpr bool - operator<(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return LHS.Value < RHS.Value; - } - [[nodiscard]] friend constexpr bool - operator>(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return LHS.Value > RHS.Value; - } - - [[nodiscard]] friend constexpr bool - operator<=(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return LHS.Value <= RHS.Value; - } - [[nodiscard]] friend constexpr bool - operator>=(DynamicPointsToSetPtr LHS, DynamicPointsToSetPtr RHS) noexcept { - return LHS.Value >= RHS.Value; - } - -private: - friend class DynamicPointsToSetConstPtr; - - container_type **Value = nullptr; -}; - -/// A Container const** that behaves like a const Container*. -/// NOTE: This is different to const DynamicPointsToSetPtr which -/// propagates the const through all known layers of indirection -template -class DynamicPointsToSetConstPtr : private DynamicPointsToSetPtr { -public: - using DynamicPointsToSetPtr::DynamicPointsToSetPtr; - using DynamicPointsToSetPtr::operator bool; - using typename DynamicPointsToSetPtr::container_type; - - constexpr DynamicPointsToSetConstPtr( - DynamicPointsToSetPtr Other) noexcept - : DynamicPointsToSetPtr(Other) {} - - [[nodiscard]] constexpr const container_type *get() const noexcept { - return DynamicPointsToSetPtr::get(); - } - - constexpr const container_type *operator->() const noexcept { return get(); } - - constexpr const container_type &operator*() const noexcept { - return *DynamicPointsToSetPtr::get(); - } - - [[nodiscard]] constexpr container_type const *const *value() const noexcept { - return DynamicPointsToSetPtr::value(); - } - - [[nodiscard]] friend constexpr llvm::hash_code - hash_value(DynamicPointsToSetConstPtr // NOLINT(readability-identifier-naming) - Ptr) noexcept { - return llvm::hash_value(Ptr.value()); - } - - [[nodiscard]] friend constexpr bool - operator==(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return LHS.value() == RHS.value(); - } - [[nodiscard]] friend constexpr bool - operator!=(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return !(LHS == RHS); - } - - [[nodiscard]] friend constexpr bool - operator<(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return LHS.value() < RHS.value(); - } - [[nodiscard]] friend constexpr bool - operator>(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return LHS.value() > RHS.value(); - } - - [[nodiscard]] friend constexpr bool - operator<=(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return LHS.value() <= RHS.value(); - } - [[nodiscard]] friend constexpr bool - operator>=(DynamicPointsToSetConstPtr LHS, - DynamicPointsToSetConstPtr RHS) noexcept { - return LHS.value() >= RHS.value(); - } -}; - -extern template class DynamicPointsToSetPtr<>; -extern template class DynamicPointsToSetConstPtr<>; -} // namespace psr - -namespace std { -template struct hash> { - constexpr size_t - operator()(psr::DynamicPointsToSetPtr Ptr) const noexcept { - return std::hash{}(Ptr.value()); - } -}; -template struct hash> { - constexpr size_t - operator()(psr::DynamicPointsToSetConstPtr Ptr) const noexcept { - return std::hash{}(Ptr.value()); - } -}; -} // namespace std - -namespace llvm { -template struct DenseMapInfo> { - inline static psr::DynamicPointsToSetPtr getEmptyKey() noexcept { - return DenseMapInfo::getEmptyKey(); - } - inline static psr::DynamicPointsToSetPtr getTombstoneKey() noexcept { - return DenseMapInfo::getTombstoneKey(); - } - - inline static bool isEqual(psr::DynamicPointsToSetPtr LHS, - psr::DynamicPointsToSetPtr RHS) noexcept { - return LHS == RHS; - } - - inline static unsigned - getHashValue(psr::DynamicPointsToSetPtr Ptr) noexcept { - return hash_value(Ptr); - } -}; -template struct DenseMapInfo> { - inline static psr::DynamicPointsToSetConstPtr getEmptyKey() noexcept { - return DenseMapInfo::getEmptyKey(); - } - inline static psr::DynamicPointsToSetConstPtr getTombstoneKey() noexcept { - return DenseMapInfo::getTombstoneKey(); - } - - inline static bool isEqual(psr::DynamicPointsToSetConstPtr LHS, - psr::DynamicPointsToSetConstPtr RHS) noexcept { - return LHS == RHS; - } - - inline static unsigned - getHashValue(psr::DynamicPointsToSetConstPtr Ptr) noexcept { - return hash_value(Ptr); - } -}; -} // namespace llvm - -#endif // PHASAR_PHASARLLVM_POINTER_DYNAMICPOINTSTOSET_H diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h b/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h index 899b2cb87..09db0fa14 100644 --- a/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h +++ b/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h @@ -16,7 +16,7 @@ #include "llvm/IR/PassManager.h" #include "llvm/Passes/PassBuilder.h" -#include "phasar/PhasarLLVM/Pointer/PointsToInfo.h" +#include "phasar/Pointer/PointsToInfo.h" namespace llvm { class Value; diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h index d7d8ff281..e0e1feadd 100644 --- a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h +++ b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h @@ -24,7 +24,7 @@ #include "phasar/Config/Configuration.h" #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" -#include "phasar/PhasarLLVM/Pointer/PointsToSetOwner.h" +#include "phasar/Pointer/PointsToSetOwner.h" namespace llvm { class Value; @@ -36,6 +36,9 @@ class Type; } // namespace llvm namespace psr { +extern template class BoxedPtr; +extern template class BoxedConstPtr; +extern template class PointsToSetOwner; /** * This class is a representation of a points-to graph. It is possible to @@ -110,8 +113,7 @@ class LLVMPointsToGraph : public LLVMPointsToInfo { PointsToSetOwner::memory_resource_type MRes; PointsToSetOwner Owner{&MRes}; - std::unordered_map> - Cache; + std::unordered_map> Cache; // void mergeGraph(const LLVMPointsToGraph &Other); diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h index 0017cebf0..18497d041 100644 --- a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h +++ b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_POINTER_LLVMPOINTSTOINFO_H_ #define PHASAR_PHASARLLVM_POINTER_LLVMPOINTSTOINFO_H_ -#include "phasar/PhasarLLVM/Pointer/PointsToInfo.h" +#include "phasar/Pointer/PointsToInfo.h" namespace llvm { class Function; diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h index d860c6e45..fcd04efcd 100644 --- a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h +++ b/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h @@ -10,10 +10,10 @@ #ifndef PHASAR_PHASARLLVM_POINTER_LLVMPOINTSTOSET_H #define PHASAR_PHASARLLVM_POINTER_LLVMPOINTSTOSET_H -#include "phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h" #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" -#include "phasar/PhasarLLVM/Pointer/PointsToSetOwner.h" +#include "phasar/Pointer/PointsToSetOwner.h" +#include "phasar/Utils/BoxedPointer.h" #include "phasar/Utils/StableVector.h" #include "llvm/ADT/DenseMap.h" @@ -34,11 +34,14 @@ class Type; namespace psr { class LLVMProjectIRDB; +extern template class BoxedPtr; +extern template class BoxedConstPtr; +extern template class PointsToSetOwner; class LLVMPointsToSet : public LLVMPointsToInfo { private: using PointsToSetMap = - llvm::DenseMap>; + llvm::DenseMap>; LLVMBasedPointsToAnalysis PTA; llvm::DenseSet AnalyzedFunctions; @@ -56,8 +59,8 @@ class LLVMPointsToSet : public LLVMPointsToInfo { void mergePointsToSets(const llvm::Value *V1, const llvm::Value *V2); - void mergePointsToSets(DynamicPointsToSetPtr PTS1, - DynamicPointsToSetPtr PTS2); + void mergePointsToSets(BoxedPtr PTS1, + BoxedPtr PTS2); bool interIsReachableAllocationSiteTy(const llvm::Value *V, const llvm::Value *P); @@ -71,8 +74,7 @@ class LLVMPointsToSet : public LLVMPointsToInfo { void addPointer(llvm::AAResults &AA, const llvm::DataLayout &DL, const llvm::Value *V, std::vector &Reps); - [[nodiscard]] static DynamicPointsToSetPtr - getEmptyPointsToSet(); + [[nodiscard]] static BoxedPtr getEmptyPointsToSet(); public: /** diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h b/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h index 0152f5583..7f2cf3b69 100644 --- a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h +++ b/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h @@ -18,7 +18,7 @@ #define PHASAR_PHASARLLVM_TYPEHIERARCHY_LLVMTYPEHIERARCHY_H_ #include "phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h" -#include "phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h" +#include "phasar/TypeHierarchy/TypeHierarchy.h" #include "boost/graph/adjacency_list.hpp" #include "boost/graph/graph_traits.hpp" diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h b/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h index 7396b1ca3..db8d7c125 100644 --- a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h +++ b/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h @@ -14,7 +14,7 @@ #include "nlohmann/json.hpp" -#include "phasar/PhasarLLVM/TypeHierarchy/VFTable.h" +#include "phasar/TypeHierarchy/VFTable.h" namespace llvm { class Function; diff --git a/include/phasar/PhasarLLVM/Utils/Printer.h b/include/phasar/PhasarLLVM/Utils/Printer.h deleted file mode 100644 index ca0c596f3..000000000 --- a/include/phasar/PhasarLLVM/Utils/Printer.h +++ /dev/null @@ -1,163 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2017 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -/* - * Printer.h - * - * Created on: 07.09.2018 - * Author: rleer - */ - -#ifndef PHASAR_PHASARLLVM_UTILS_PRINTER_H -#define PHASAR_PHASARLLVM_UTILS_PRINTER_H - -#include "llvm/Support/raw_ostream.h" - -#include - -namespace psr { - -template struct NodePrinter { - using N = typename AnalysisDomainTy::n_t; - - NodePrinter() = default; - NodePrinter(const NodePrinter &) = delete; - NodePrinter &operator=(const NodePrinter &) = delete; - NodePrinter(NodePrinter &&) = delete; - NodePrinter &operator=(NodePrinter &&) = delete; - virtual ~NodePrinter() = default; - - virtual void printNode(llvm::raw_ostream &OS, N Stmt) const = 0; - - virtual std::string NtoString(N Stmt) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printNode(StrS, Stmt); - return StrS.str(); - } -}; - -template struct DataFlowFactPrinter { - using D = typename AnalysisDomainTy::d_t; - - DataFlowFactPrinter() = default; - DataFlowFactPrinter(const DataFlowFactPrinter &) = delete; - DataFlowFactPrinter &operator=(const DataFlowFactPrinter &) = delete; - DataFlowFactPrinter(DataFlowFactPrinter &&) = delete; - DataFlowFactPrinter &operator=(DataFlowFactPrinter &&) = delete; - virtual ~DataFlowFactPrinter() = default; - - virtual void printDataFlowFact(llvm::raw_ostream &OS, D Fact) const = 0; - - [[nodiscard]] virtual std::string DtoString(D Fact) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printDataFlowFact(StrS, Fact); - return StrS.str(); - } -}; - -template struct ValuePrinter { - ValuePrinter() = default; - ValuePrinter(const ValuePrinter &) = delete; - ValuePrinter &operator=(const ValuePrinter &) = delete; - ValuePrinter(ValuePrinter &&) = delete; - ValuePrinter &operator=(ValuePrinter &&) = delete; - virtual ~ValuePrinter() = default; - - virtual void printValue(llvm::raw_ostream &OS, V Val) const = 0; - - virtual std::string VtoString(V Val) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printValue(StrS, Val); - return StrS.str(); - } -}; - -template struct TypePrinter { - TypePrinter() = default; - TypePrinter(const TypePrinter &) = delete; - TypePrinter &operator=(const TypePrinter &) = delete; - TypePrinter(TypePrinter &&) = delete; - TypePrinter &operator=(TypePrinter &&) = delete; - virtual ~TypePrinter() = default; - - virtual void printType(llvm::raw_ostream &OS, T Ty) const = 0; - - virtual std::string TtoString(T Ty) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printType(StrS, Ty); - return StrS.str(); - } -}; - -template struct EdgeFactPrinter { - using l_t = typename AnalysisDomainTy::l_t; - - EdgeFactPrinter() = default; - EdgeFactPrinter(const EdgeFactPrinter &) = delete; - EdgeFactPrinter &operator=(const EdgeFactPrinter &) = delete; - EdgeFactPrinter(EdgeFactPrinter &&) = delete; - EdgeFactPrinter &operator=(EdgeFactPrinter &&) = delete; - virtual ~EdgeFactPrinter() = default; - - virtual void printEdgeFact(llvm::raw_ostream &OS, l_t L) const = 0; - - [[nodiscard]] virtual std::string LtoString(l_t L) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printEdgeFact(StrS, L); - return StrS.str(); - } -}; - -template struct FunctionPrinter { - using F = typename AnalysisDomainTy::f_t; - - FunctionPrinter() = default; - FunctionPrinter(const FunctionPrinter &) = delete; - FunctionPrinter &operator=(const FunctionPrinter &) = delete; - FunctionPrinter(FunctionPrinter &&) = delete; - FunctionPrinter &operator=(FunctionPrinter &&) = delete; - virtual ~FunctionPrinter() = default; - - virtual void printFunction(llvm::raw_ostream &OS, F Func) const = 0; - - virtual std::string FtoString(F Func) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printFunction(StrS, Func); - return StrS.str(); - } -}; - -template struct ContainerPrinter { - ContainerPrinter() = default; - ContainerPrinter(const ContainerPrinter &) = delete; - ContainerPrinter &operator=(const ContainerPrinter &) = delete; - ContainerPrinter(ContainerPrinter &&) = delete; - ContainerPrinter &operator=(ContainerPrinter &&) = delete; - virtual ~ContainerPrinter() = default; - - virtual void printContainer(llvm::raw_ostream &OS, - ContainerTy Container) const = 0; - - virtual std::string ContainertoString(ContainerTy Container) const { // NOLINT - std::string Buffer; - llvm::raw_string_ostream StrS(Buffer); - printContainer(StrS, Container); - return StrS.str(); - } -}; - -} // namespace psr - -#endif diff --git a/include/phasar/PhasarLLVM/Pointer/PointerAnalysisType.def b/include/phasar/Pointer/PointerAnalysisType.def similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/PointerAnalysisType.def rename to include/phasar/Pointer/PointerAnalysisType.def diff --git a/include/phasar/PhasarLLVM/Pointer/PointerAnalysisType.h b/include/phasar/Pointer/PointerAnalysisType.h similarity index 95% rename from include/phasar/PhasarLLVM/Pointer/PointerAnalysisType.h rename to include/phasar/Pointer/PointerAnalysisType.h index 771d43a85..20018afb4 100644 --- a/include/phasar/PhasarLLVM/Pointer/PointerAnalysisType.h +++ b/include/phasar/Pointer/PointerAnalysisType.h @@ -30,7 +30,7 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, AliasResult AR); enum class PointerAnalysisType { #define POINTER_ANALYSIS_TYPE(NAME, CMDFLAG, TYPE) NAME, -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.def" +#include "phasar/Pointer/PointerAnalysisType.def" Invalid }; diff --git a/include/phasar/PhasarLLVM/Pointer/PointsToInfo.h b/include/phasar/Pointer/PointsToInfo.h similarity index 92% rename from include/phasar/PhasarLLVM/Pointer/PointsToInfo.h rename to include/phasar/Pointer/PointsToInfo.h index a969b0e8a..bb97569d7 100644 --- a/include/phasar/PhasarLLVM/Pointer/PointsToInfo.h +++ b/include/phasar/Pointer/PointsToInfo.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_POINTER_POINTSTOINFO_H_ #define PHASAR_PHASARLLVM_POINTER_POINTSTOINFO_H_ -#include "phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h" -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.h" +#include "phasar/Pointer/PointerAnalysisType.h" +#include "phasar/Utils/BoxedPointer.h" #include "llvm/ADT/DenseSet.h" #include "llvm/Support/raw_ostream.h" @@ -23,7 +23,7 @@ namespace psr { template class PointsToInfo { public: using PointsToSetTy = llvm::DenseSet; - using PointsToSetPtrTy = DynamicPointsToSetConstPtr; + using PointsToSetPtrTy = BoxedConstPtr; using AllocationSiteSetPtrTy = std::unique_ptr; virtual ~PointsToInfo() = default; diff --git a/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h b/include/phasar/Pointer/PointsToSetOwner.h similarity index 92% rename from include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h rename to include/phasar/Pointer/PointsToSetOwner.h index bce6d47d3..0122d7bbb 100644 --- a/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h +++ b/include/phasar/Pointer/PointsToSetOwner.h @@ -10,8 +10,7 @@ #ifndef PHASAR_PHASARLLVM_POINTER_POINTSTOSETOWNER_H #define PHASAR_PHASARLLVM_POINTER_POINTSTOSETOWNER_H -#include "phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h" -#include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" +#include "phasar/Utils/BoxedPointer.h" #include "phasar/Utils/StableVector.h" #include "llvm/ADT/DenseSet.h" @@ -79,7 +78,7 @@ template class PointsToSetOwner { OwnedPTS.clear(); } - DynamicPointsToSetPtr acquire() { + BoxedPtr acquire() { auto RawMem = #if HAS_MEMORY_RESOURCE Alloc.allocate(1) @@ -119,7 +118,6 @@ template class PointsToSetOwner { StableVector AllPTS; }; -extern template class PointsToSetOwner; } // namespace psr #endif // PHASAR_PHASARLLVM_POINTER_POINTSTOSETOWNER_H diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h b/include/phasar/TypeHierarchy/TypeHierarchy.h similarity index 97% rename from include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h rename to include/phasar/TypeHierarchy/TypeHierarchy.h index c09e82dc1..6330f3552 100644 --- a/include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h +++ b/include/phasar/TypeHierarchy/TypeHierarchy.h @@ -15,7 +15,7 @@ #include "nlohmann/json.hpp" -#include "phasar/PhasarLLVM/TypeHierarchy/VFTable.h" +#include "phasar/TypeHierarchy/VFTable.h" #include "llvm/Support/raw_ostream.h" diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h b/include/phasar/TypeHierarchy/VFTable.h similarity index 100% rename from include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h rename to include/phasar/TypeHierarchy/VFTable.h diff --git a/include/phasar/Utils/BoxedPointer.h b/include/phasar/Utils/BoxedPointer.h new file mode 100644 index 000000000..ea523456d --- /dev/null +++ b/include/phasar/Utils/BoxedPointer.h @@ -0,0 +1,210 @@ +/****************************************************************************** + * Copyright (c) 2022 Philipp Schubert. + * All rights reserved. This program and the accompanying materials are made + * available under the terms of LICENSE.txt. + * + * Contributors: + * Fabian Schiebel and others + *****************************************************************************/ + +#ifndef PHASAR_UTILS_BOXEDPOINTER_H +#define PHASAR_UTILS_BOXEDPOINTER_H + +#include + +#include "llvm/ADT/DenseMapInfo.h" +#include "llvm/ADT/DenseSet.h" +#include "llvm/ADT/Hashing.h" + +namespace llvm { +class Value; +} // namespace llvm + +namespace psr { + +template class BoxedConstPtr; +/// A T** that behaves like a T*. Used as AliasSetPtr in LLVMAliasSet +template class BoxedPtr { +public: + using value_type = T; + + constexpr BoxedPtr() noexcept = default; + constexpr BoxedPtr(std::nullptr_t) noexcept {} + constexpr BoxedPtr(value_type **Value) noexcept : Value(Value) { + assert(Value != nullptr); + } + constexpr BoxedPtr(const BoxedPtr &) noexcept = default; + constexpr BoxedPtr &operator=(const BoxedPtr &) noexcept = default; + ~BoxedPtr() noexcept = default; + + [[nodiscard]] constexpr value_type *get() noexcept { return *Value; } + [[nodiscard]] constexpr const value_type *get() const noexcept { + return *Value; + } + + constexpr value_type *operator->() noexcept { return get(); } + constexpr const value_type *operator->() const noexcept { return get(); } + + constexpr value_type &operator*() noexcept { return **Value; } + constexpr const value_type &operator*() const noexcept { return **Value; } + + constexpr operator bool() const noexcept { + return Value && *Value != nullptr; + } + + [[nodiscard]] constexpr value_type **value() noexcept { return Value; } + [[nodiscard]] constexpr value_type const *const *value() const noexcept { + return Value; + } + + [[nodiscard]] friend constexpr llvm::hash_code + hash_value(BoxedPtr // NOLINT(readability-identifier-naming) + Ptr) noexcept { + return llvm::hash_value(Ptr.Value); + } + + [[nodiscard]] friend constexpr bool operator==(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return LHS.Value == RHS.Value; + } + [[nodiscard]] friend constexpr bool operator!=(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return !(LHS == RHS); + } + + [[nodiscard]] friend constexpr bool operator<(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return LHS.Value < RHS.Value; + } + [[nodiscard]] friend constexpr bool operator>(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return LHS.Value > RHS.Value; + } + + [[nodiscard]] friend constexpr bool operator<=(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return LHS.Value <= RHS.Value; + } + [[nodiscard]] friend constexpr bool operator>=(BoxedPtr LHS, + BoxedPtr RHS) noexcept { + return LHS.Value >= RHS.Value; + } + +private: + friend class BoxedConstPtr; + + value_type **Value = nullptr; +}; + +/// A T const** that behaves like a const T*. +/// NOTE: This is different to const BoxedPtr which +/// propagates the const through all known layers of indirection +template class BoxedConstPtr : private BoxedPtr { +public: + using BoxedPtr::BoxedPtr; + using BoxedPtr::operator bool; + using typename BoxedPtr::value_type; + + constexpr BoxedConstPtr(BoxedPtr Other) noexcept : BoxedPtr(Other) {} + + [[nodiscard]] constexpr const value_type *get() const noexcept { + return BoxedPtr::get(); + } + + constexpr const value_type *operator->() const noexcept { return get(); } + + constexpr const value_type &operator*() const noexcept { + return *BoxedPtr::get(); + } + + [[nodiscard]] constexpr value_type const *const *value() const noexcept { + return BoxedPtr::value(); + } + + [[nodiscard]] friend constexpr llvm::hash_code + hash_value(BoxedConstPtr // NOLINT(readability-identifier-naming) + Ptr) noexcept { + return llvm::hash_value(Ptr.value()); + } + + [[nodiscard]] friend constexpr bool operator==(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return LHS.value() == RHS.value(); + } + [[nodiscard]] friend constexpr bool operator!=(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return !(LHS == RHS); + } + + [[nodiscard]] friend constexpr bool operator<(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return LHS.value() < RHS.value(); + } + [[nodiscard]] friend constexpr bool operator>(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return LHS.value() > RHS.value(); + } + + [[nodiscard]] friend constexpr bool operator<=(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return LHS.value() <= RHS.value(); + } + [[nodiscard]] friend constexpr bool operator>=(BoxedConstPtr LHS, + BoxedConstPtr RHS) noexcept { + return LHS.value() >= RHS.value(); + } +}; + +} // namespace psr + +namespace std { +template struct hash> { + constexpr size_t operator()(psr::BoxedPtr Ptr) const noexcept { + return std::hash{}(Ptr.value()); + } +}; +template struct hash> { + constexpr size_t operator()(psr::BoxedConstPtr Ptr) const noexcept { + return std::hash{}(Ptr.value()); + } +}; +} // namespace std + +namespace llvm { +template struct DenseMapInfo> { + inline static psr::BoxedPtr getEmptyKey() noexcept { + return DenseMapInfo::getEmptyKey(); + } + inline static psr::BoxedPtr getTombstoneKey() noexcept { + return DenseMapInfo::getTombstoneKey(); + } + + inline static bool isEqual(psr::BoxedPtr LHS, + psr::BoxedPtr RHS) noexcept { + return LHS == RHS; + } + + inline static unsigned getHashValue(psr::BoxedPtr Ptr) noexcept { + return hash_value(Ptr); + } +}; +template struct DenseMapInfo> { + inline static psr::BoxedConstPtr getEmptyKey() noexcept { + return DenseMapInfo::getEmptyKey(); + } + inline static psr::BoxedConstPtr getTombstoneKey() noexcept { + return DenseMapInfo::getTombstoneKey(); + } + + inline static bool isEqual(psr::BoxedConstPtr LHS, + psr::BoxedConstPtr RHS) noexcept { + return LHS == RHS; + } + + inline static unsigned getHashValue(psr::BoxedConstPtr Ptr) noexcept { + return hash_value(Ptr); + } +}; +} // namespace llvm + +#endif // PHASAR_UTILS_BOXEDPOINTER_H diff --git a/include/phasar/PhasarLLVM/Utils/ByRef.h b/include/phasar/Utils/ByRef.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/ByRef.h rename to include/phasar/Utils/ByRef.h diff --git a/include/phasar/PhasarLLVM/Utils/DOTGraph.h b/include/phasar/Utils/DOTGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/DOTGraph.h rename to include/phasar/Utils/DOTGraph.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h b/include/phasar/Utils/JoinLattice.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h rename to include/phasar/Utils/JoinLattice.h diff --git a/include/phasar/Utils/Printer.h b/include/phasar/Utils/Printer.h new file mode 100644 index 000000000..e19027f56 --- /dev/null +++ b/include/phasar/Utils/Printer.h @@ -0,0 +1,97 @@ +/****************************************************************************** + * Copyright (c) 2017 Philipp Schubert. + * All rights reserved. This program and the accompanying materials are made + * available under the terms of LICENSE.txt. + * + * Contributors: + * Philipp Schubert and others + *****************************************************************************/ + +#ifndef PHASAR_PHASARLLVM_UTILS_PRINTER_H +#define PHASAR_PHASARLLVM_UTILS_PRINTER_H + +#include "llvm/Support/raw_ostream.h" + +#include +#include + +namespace psr { + +template +std::string toStringBuilder(void (P::*Printer)(llvm::raw_ostream &, T) const, + const P *This, const T &Arg) { + std::string Buffer; + llvm::raw_string_ostream StrS(Buffer); + std::invoke(Printer, This, std::ref(StrS), Arg); + return Buffer; +} + +template struct NodePrinter { + using n_t = typename AnalysisDomainTy::n_t; + + virtual void printNode(llvm::raw_ostream &OS, n_t Stmt) const = 0; + + [[nodiscard]] std::string NtoString(n_t Stmt) const { // NOLINT + return toStringBuilder(&NodePrinter::printNode, this, Stmt); + } +}; + +template struct DataFlowFactPrinter { + using d_t = typename AnalysisDomainTy::d_t; + + virtual void printDataFlowFact(llvm::raw_ostream &OS, d_t Fact) const = 0; + + [[nodiscard]] std::string DtoString(d_t Fact) const { // NOLINT + return toStringBuilder(&DataFlowFactPrinter::printDataFlowFact, this, Fact); + } +}; + +template struct ValuePrinter { + virtual void printValue(llvm::raw_ostream &OS, V Val) const = 0; + + [[nodiscard]] std::string VtoString(V Val) const { // NOLINT + return toStringBuilder(&ValuePrinter::printValue, this, Val); + } +}; + +template struct TypePrinter { + virtual void printType(llvm::raw_ostream &OS, T Ty) const = 0; + + [[nodiscard]] std::string TtoString(T Ty) const { // NOLINT + return toStringBuilder(&TypePrinter::printType, this, Ty); + } +}; + +template struct EdgeFactPrinter { + using l_t = typename AnalysisDomainTy::l_t; + + virtual void printEdgeFact(llvm::raw_ostream &OS, l_t L) const = 0; + + [[nodiscard]] std::string LtoString(l_t L) const { // NOLINT + return toStringBuilder(&EdgeFactPrinter::printEdgeFact, this, L); + } +}; + +template struct FunctionPrinter { + using F = typename AnalysisDomainTy::f_t; + + virtual void printFunction(llvm::raw_ostream &OS, F Func) const = 0; + + [[nodiscard]] std::string FtoString(F Func) const { // NOLINT + return toStringBuilder(&FunctionPrinter::printFunction, this, Func); + } +}; + +template struct ContainerPrinter { + virtual void printContainer(llvm::raw_ostream &OS, + ContainerTy Container) const = 0; + + [[nodiscard]] std::string + ContainertoString(ContainerTy Container) const { // NOLINT + return toStringBuilder(&ContainerPrinter::printContainer, this, Container); + } +}; + +} // namespace psr + +#endif diff --git a/include/phasar/Utils/TypeTraits.h b/include/phasar/Utils/TypeTraits.h index fec3553d5..df563f6ad 100644 --- a/include/phasar/Utils/TypeTraits.h +++ b/include/phasar/Utils/TypeTraits.h @@ -15,7 +15,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" +#include "phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h" #include "llvm/Support/raw_ostream.h" @@ -176,7 +176,9 @@ constexpr bool is_crtp_base_of_v = // NOLINT detail::is_crtp_base_of::value; #if __cplusplus < 202002L -template struct type_identity { using type = T; }; // NOLINT +template struct type_identity { + using type = T; +}; // NOLINT #else template using type_identity = std::type_identity; #endif diff --git a/lib/PhasarLLVM/AnalysisStrategy/CMakeLists.txt b/lib/AnalysisStrategy/CMakeLists.txt similarity index 98% rename from lib/PhasarLLVM/AnalysisStrategy/CMakeLists.txt rename to lib/AnalysisStrategy/CMakeLists.txt index a4153576c..95f7e798e 100644 --- a/lib/PhasarLLVM/AnalysisStrategy/CMakeLists.txt +++ b/lib/AnalysisStrategy/CMakeLists.txt @@ -4,7 +4,6 @@ set(PHASAR_LINK_LIBS ) set(LLVM_LINK_COMPONENTS - Core Support ) diff --git a/lib/PhasarLLVM/AnalysisStrategy/Strategies.cpp b/lib/AnalysisStrategy/Strategies.cpp similarity index 86% rename from lib/PhasarLLVM/AnalysisStrategy/Strategies.cpp rename to lib/AnalysisStrategy/Strategies.cpp index b38998c15..a05ba5848 100644 --- a/lib/PhasarLLVM/AnalysisStrategy/Strategies.cpp +++ b/lib/AnalysisStrategy/Strategies.cpp @@ -7,7 +7,7 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.h" +#include "phasar/AnalysisStrategy/Strategies.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/raw_ostream.h" @@ -21,7 +21,7 @@ std::string toString(const AnalysisStrategy &S) { case AnalysisStrategy::NAME: \ return #NAME; \ break; -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.def" +#include "phasar/AnalysisStrategy/Strategies.def" case AnalysisStrategy::None: return "None"; } @@ -31,13 +31,13 @@ AnalysisStrategy toAnalysisStrategy(llvm::StringRef S) { AnalysisStrategy Type = llvm::StringSwitch(S) #define ANALYSIS_STRATEGY_TYPES(NAME, CMDFLAG, DESC) \ .Case(#NAME, AnalysisStrategy::NAME) -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.def" +#include "phasar/AnalysisStrategy/Strategies.def" .Default(AnalysisStrategy::None); if (Type == AnalysisStrategy::None) { Type = llvm::StringSwitch(S) #define ANALYSIS_STRATEGY_TYPES(NAME, CMDFLAG, DESC) \ .Case(CMDFLAG, AnalysisStrategy::NAME) -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.def" +#include "phasar/AnalysisStrategy/Strategies.def" .Default(AnalysisStrategy::None); } return Type; diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 8891078dd..c484c6e63 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,3 +1,4 @@ +add_subdirectory(AnalysisStrategy) add_subdirectory(PhasarLLVM) add_subdirectory(PhasarPass) add_subdirectory(PhasarClang) @@ -5,3 +6,5 @@ add_subdirectory(DB) add_subdirectory(Config) add_subdirectory(Utils) add_subdirectory(Controller) +add_subdirectory(Pointer) +add_subdirectory(ControlFlow) diff --git a/lib/ControlFlow/CMakeLists.txt b/lib/ControlFlow/CMakeLists.txt new file mode 100644 index 000000000..b757c3d62 --- /dev/null +++ b/lib/ControlFlow/CMakeLists.txt @@ -0,0 +1,26 @@ +file(GLOB_RECURSE CONTROLFLOW_SRC *.h *.cpp) + +set(PHASAR_LINK_LIBS +) + +set(LLVM_LINK_COMPONENTS + Support +) + +if(BUILD_SHARED_LIBS) + add_phasar_library(phasar_controlflow + SHARED + ${CONTROLFLOW_SRC} + ) +else() + add_phasar_library(phasar_controlflow + STATIC + ${CONTROLFLOW_SRC} + ) +endif() + +set_target_properties(phasar_controlflow + PROPERTIES + LINKER_LANGUAGE CXX + PREFIX "lib" +) diff --git a/lib/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.cpp b/lib/ControlFlow/SpecialMemberFunctionType.cpp similarity index 83% rename from lib/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.cpp rename to lib/ControlFlow/SpecialMemberFunctionType.cpp index fd832a891..886513f03 100644 --- a/lib/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.cpp +++ b/lib/ControlFlow/SpecialMemberFunctionType.cpp @@ -7,13 +7,11 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h" +#include "phasar/ControlFlow/SpecialMemberFunctionType.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/raw_ostream.h" -using namespace psr; - std::string psr::toString(SpecialMemberFunctionType SMFT) { switch (SMFT) { default: @@ -21,17 +19,17 @@ std::string psr::toString(SpecialMemberFunctionType SMFT) { case SpecialMemberFunctionType::TYPE: \ return NAME; \ break; -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def" +#include "phasar/ControlFlow/SpecialMemberFunctionType.def" } } -SpecialMemberFunctionType +psr::SpecialMemberFunctionType psr::toSpecialMemberFunctionType(llvm::StringRef SMFT) { SpecialMemberFunctionType Type = llvm::StringSwitch(SMFT) #define SPECIAL_MEMBER_FUNCTION_TYPES(NAME, TYPE) \ .Case(NAME, SpecialMemberFunctionType::TYPE) -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def" +#include "phasar/ControlFlow/SpecialMemberFunctionType.def" .Default(SpecialMemberFunctionType::None); return Type; } diff --git a/lib/Controller/AnalysisController.cpp b/lib/Controller/AnalysisController.cpp index de13a3109..9f0817526 100644 --- a/lib/Controller/AnalysisController.cpp +++ b/lib/Controller/AnalysisController.cpp @@ -8,11 +8,11 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" +#include "phasar/AnalysisStrategy/Strategies.h" #include "phasar/Controller/AnalysisControllerEmitterOptions.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h" #include "phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h" #include "phasar/Utils/Utilities.h" diff --git a/lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp b/lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp index 2d26523b3..e17c93eef 100644 --- a/lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp +++ b/lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp @@ -8,8 +8,8 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIDEIIA.cpp b/lib/Controller/AnalysisControllerXIDEIIA.cpp index dab6206e7..38ee915b7 100644 --- a/lib/Controller/AnalysisControllerXIDEIIA.cpp +++ b/lib/Controller/AnalysisControllerXIDEIIA.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIDELinearConst.cpp b/lib/Controller/AnalysisControllerXIDELinearConst.cpp index 859584e54..5587e2ea1 100644 --- a/lib/Controller/AnalysisControllerXIDELinearConst.cpp +++ b/lib/Controller/AnalysisControllerXIDELinearConst.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp b/lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp index acf0f3a93..bc12a9a69 100644 --- a/lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp +++ b/lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp @@ -8,8 +8,8 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIDESolverTest.cpp b/lib/Controller/AnalysisControllerXIDESolverTest.cpp index 892c20cd9..3fe84ae85 100644 --- a/lib/Controller/AnalysisControllerXIDESolverTest.cpp +++ b/lib/Controller/AnalysisControllerXIDESolverTest.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIDEXTaint.cpp b/lib/Controller/AnalysisControllerXIDEXTaint.cpp index 7a7f0b5c4..2ae9828a3 100644 --- a/lib/Controller/AnalysisControllerXIDEXTaint.cpp +++ b/lib/Controller/AnalysisControllerXIDEXTaint.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSConst.cpp b/lib/Controller/AnalysisControllerXIFDSConst.cpp index 0057a53e9..ce1cfa083 100644 --- a/lib/Controller/AnalysisControllerXIFDSConst.cpp +++ b/lib/Controller/AnalysisControllerXIFDSConst.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp b/lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp index 7880fb16f..e25704e79 100644 --- a/lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp +++ b/lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSSolverTest.cpp b/lib/Controller/AnalysisControllerXIFDSSolverTest.cpp index 5945bcdb9..eea544ccb 100644 --- a/lib/Controller/AnalysisControllerXIFDSSolverTest.cpp +++ b/lib/Controller/AnalysisControllerXIFDSSolverTest.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSTaint.cpp b/lib/Controller/AnalysisControllerXIFDSTaint.cpp index f4da2e809..f3e807db2 100644 --- a/lib/Controller/AnalysisControllerXIFDSTaint.cpp +++ b/lib/Controller/AnalysisControllerXIFDSTaint.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSType.cpp b/lib/Controller/AnalysisControllerXIFDSType.cpp index 3556f567a..85b70b241 100644 --- a/lib/Controller/AnalysisControllerXIFDSType.cpp +++ b/lib/Controller/AnalysisControllerXIFDSType.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIFDSUninit.cpp b/lib/Controller/AnalysisControllerXIFDSUninit.cpp index 616e06540..168540c9a 100644 --- a/lib/Controller/AnalysisControllerXIFDSUninit.cpp +++ b/lib/Controller/AnalysisControllerXIFDSUninit.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp b/lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp index 637cb3e8e..2b2a34560 100644 --- a/lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp +++ b/lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXInterMonoTaint.cpp b/lib/Controller/AnalysisControllerXInterMonoTaint.cpp index 3a378e133..b140d81cf 100644 --- a/lib/Controller/AnalysisControllerXInterMonoTaint.cpp +++ b/lib/Controller/AnalysisControllerXInterMonoTaint.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp b/lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp index 53b2a7bbb..2d5cd2e0c 100644 --- a/lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp +++ b/lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" namespace psr { diff --git a/lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp b/lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp index 9a731a08d..57508a44e 100644 --- a/lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp +++ b/lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/Controller/AnalysisController.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h" namespace psr { diff --git a/lib/Controller/CMakeLists.txt b/lib/Controller/CMakeLists.txt index df5a0a7b5..4db4bd2a6 100644 --- a/lib/Controller/CMakeLists.txt +++ b/lib/Controller/CMakeLists.txt @@ -1,12 +1,12 @@ file(GLOB_RECURSE CONTROLLER_SRC *.h *.cpp) set(PHASAR_LINK_LIBS - phasar_ifdside + phasar_llvm_ifdside phasar_mono - phasar_db - phasar_pointer - phasar_typehierarchy - phasar_controlflow + phasar_llvm_db + phasar_llvm_pointer + phasar_llvm_typehierarchy + phasar_llvm_controlflow phasar_phasarllvm_utils phasar_utils phasar_analysis_strategy diff --git a/lib/PhasarLLVM/CMakeLists.txt b/lib/PhasarLLVM/CMakeLists.txt index 1fed4f2a4..c7d1ec128 100644 --- a/lib/PhasarLLVM/CMakeLists.txt +++ b/lib/PhasarLLVM/CMakeLists.txt @@ -1,8 +1,34 @@ -add_subdirectory(AnalysisStrategy) +add_subdirectory(DB) add_subdirectory(ControlFlow) -add_subdirectory(DataFlowSolver) +add_subdirectory(DataFlow) add_subdirectory(Passes) add_subdirectory(Pointer) add_subdirectory(TaintConfig) add_subdirectory(TypeHierarchy) add_subdirectory(Utils) + +file(GLOB PHASAR_LLVM_SRC *.h *.cpp) + +set(PHASAR_LINK_LIBS + phasar_llvm_pointer + phasar_llvm_db + phasar_llvm_controlflow + phasar_llvm_typehierarchy +) + +set(LLVM_LINK_COMPONENTS + Core + Support +) + +if(BUILD_SHARED_LIBS) + add_phasar_library(phasar_llvm + SHARED + ${PHASAR_LLVM_SRC} + ) +else() + add_phasar_library(phasar_llvm + STATIC + ${PHASAR_LLVM_SRC} + ) +endif() \ No newline at end of file diff --git a/lib/PhasarLLVM/ControlFlow/CMakeLists.txt b/lib/PhasarLLVM/ControlFlow/CMakeLists.txt index 8be0f57c5..3f93e7e90 100644 --- a/lib/PhasarLLVM/ControlFlow/CMakeLists.txt +++ b/lib/PhasarLLVM/ControlFlow/CMakeLists.txt @@ -1,10 +1,11 @@ file(GLOB_RECURSE CONTROLFLOW_SRC *.h *.cpp) set(PHASAR_LINK_LIBS - phasar_pointer - phasar_typehierarchy + phasar_llvm_pointer + phasar_llvm_typehierarchy phasar_db phasar_utils + phasar_controlflow ) set(LLVM_LINK_COMPONENTS @@ -14,18 +15,18 @@ set(LLVM_LINK_COMPONENTS ) if(BUILD_SHARED_LIBS) - add_phasar_library(phasar_controlflow + add_phasar_library(phasar_llvm_controlflow SHARED ${CONTROLFLOW_SRC} ) else() - add_phasar_library(phasar_controlflow + add_phasar_library(phasar_llvm_controlflow STATIC ${CONTROLFLOW_SRC} ) endif() -set_target_properties(phasar_controlflow +set_target_properties(phasar_llvm_controlflow PROPERTIES LINKER_LANGUAGE CXX PREFIX "lib" diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp b/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp index 8056f071a..071615b6d 100644 --- a/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp +++ b/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "llvm/IR/Instructions.h" diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp b/lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp index 191200dc5..82ec12afa 100644 --- a/lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp +++ b/lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp @@ -8,8 +8,8 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" +#include "phasar/ControlFlow/SpecialMemberFunctionType.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h" -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp index bde45ed69..0f12b6761 100644 --- a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp +++ b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp @@ -9,10 +9,10 @@ #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGExportsImpl.cpp b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGExportsImpl.cpp index 8702b69b6..dcdf5bcaa 100644 --- a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGExportsImpl.cpp +++ b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGExportsImpl.cpp @@ -7,9 +7,9 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Utilities.h" diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobalsImpl.cpp b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobalsImpl.cpp index b01075eb1..7d2ee5abf 100644 --- a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobalsImpl.cpp +++ b/lib/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobalsImpl.cpp @@ -7,8 +7,8 @@ * Philipp Schubert, Fabian Schiebel and others *****************************************************************************/ -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp b/lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp index 667956f71..915a81a80 100644 --- a/lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp +++ b/lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp @@ -15,7 +15,7 @@ */ #include "phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp b/lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp index 0acc0ea06..20cc8773d 100644 --- a/lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp +++ b/lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp @@ -15,13 +15,13 @@ */ #include "phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/DTAResolver.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/NOResolver.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/OTFResolver.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/DB/CMakeLists.txt b/lib/PhasarLLVM/DB/CMakeLists.txt new file mode 100644 index 000000000..490d3ce77 --- /dev/null +++ b/lib/PhasarLLVM/DB/CMakeLists.txt @@ -0,0 +1,29 @@ +file(GLOB_RECURSE PSR_LLVM_DB_SRC *.h *.cpp) + +set(PHASAR_LINK_LIBS + phasar_db + phasar_utils +) + +set(LLVM_LINK_COMPONENTS + Core + Support +) + +if(BUILD_SHARED_LIBS) + add_phasar_library(phasar_llvm_db + SHARED + ${PSR_LLVM_DB_SRC} + ) +else() + add_phasar_library(phasar_llvm_db + STATIC + ${PSR_LLVM_DB_SRC} + ) +endif() + +set_target_properties(phasar_llvm_db + PROPERTIES + LINKER_LANGUAGE CXX + PREFIX "lib" +) diff --git a/lib/DB/LLVMProjectIRDB.cpp b/lib/PhasarLLVM/DB/LLVMProjectIRDB.cpp similarity index 99% rename from lib/DB/LLVMProjectIRDB.cpp rename to lib/PhasarLLVM/DB/LLVMProjectIRDB.cpp index 981979994..d4c98b41d 100644 --- a/lib/DB/LLVMProjectIRDB.cpp +++ b/lib/PhasarLLVM/DB/LLVMProjectIRDB.cpp @@ -1,4 +1,4 @@ -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/Config/Configuration.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/CMakeLists.txt b/lib/PhasarLLVM/DataFlow/CMakeLists.txt similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/CMakeLists.txt rename to lib/PhasarLLVM/DataFlow/CMakeLists.txt diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt b/lib/PhasarLLVM/DataFlow/IfdsIde/CMakeLists.txt similarity index 64% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt rename to lib/PhasarLLVM/DataFlow/IfdsIde/CMakeLists.txt index 9e44e540a..7d372a57b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/CMakeLists.txt @@ -3,9 +3,10 @@ file(GLOB_RECURSE IFDSIDE_SRC *.h *.cpp) set(PHASAR_LINK_LIBS phasar_config phasar_utils - phasar_pointer - phasar_typehierarchy - phasar_controlflow + phasar_llvm_pointer + phasar_llvm + phasar_llvm_typehierarchy + phasar_llvm_controlflow phasar_phasarllvm_utils phasar_db phasar_taintconfig @@ -19,18 +20,18 @@ set(LLVM_LINK_COMPONENTS ) if(BUILD_SHARED_LIBS) - add_phasar_library(phasar_ifdside + add_phasar_library(phasar_llvm_ifdside SHARED ${IFDSIDE_SRC} ) else() - add_phasar_library(phasar_ifdside + add_phasar_library(phasar_llvm_ifdside STATIC ${IFDSIDE_SRC} ) endif() -set_target_properties(phasar_ifdside +set_target_properties(phasar_llvm_ifdside PROPERTIES LINKER_LANGUAGE CXX PREFIX "lib" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp similarity index 92% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp index 102fd2188..704851961 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp similarity index 90% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp index 4a123ce5a..0aecea1a8 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp similarity index 82% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp index 71248da9c..9dad135dc 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp similarity index 96% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp index a36689cd9..95a02878d 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp similarity index 91% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp index 126be6417..7e8316c9b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp similarity index 72% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp index 59f7cc0ac..d1ede49cf 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp similarity index 63% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp index 06936bc84..d05b26a6d 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp similarity index 92% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp index b0dcdc3fb..bca601c5c 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp @@ -2,10 +2,10 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" #include #include diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp similarity index 91% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp index 742a6b859..15e2a57f5 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp @@ -2,10 +2,10 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" #include diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp similarity index 82% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp index 5d91cb7fc..cf96e2c3a 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp similarity index 95% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp index eece74642..60fb31225 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp similarity index 85% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp index f37a7d34a..d13020410 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp similarity index 88% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp index f36d02576..a4810672b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp index 648efd4c4..580ed76f5 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp similarity index 90% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp index d887896fa..590c1a69b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp similarity index 91% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp index 1fc8386f9..1b8bc8837 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp similarity index 95% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp index c33bc8354..036bdc37f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp similarity index 90% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp index 40e75d9b3..9730fff69 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp similarity index 85% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp index 749ac717b..b4ac741cb 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp @@ -2,7 +2,7 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp index d2dbd7b18..7901cb4ea 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp @@ -4,9 +4,9 @@ #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" #include "llvm/IR/Function.h" #include "llvm/IR/Instructions.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp similarity index 99% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp index 90dcc2051..64d1291c1 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp @@ -2,8 +2,8 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "llvm/Analysis/PostDominators.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSIDESolverConfig.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/IFDSIDESolverConfig.cpp index d81d30803..6d87eaa7a 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/IFDSIDESolverConfig.cpp @@ -10,7 +10,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" +#include "phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h" using namespace std; using namespace psr; diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.cpp index d20443a97..659642f0e 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.cpp @@ -1,4 +1,4 @@ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "llvm/IR/Constants.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp index 357e2f636..06cf4c281 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp @@ -7,7 +7,7 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/DebugOutput.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp similarity index 99% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp index 3b146b64d..7a2c706d3 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp @@ -13,7 +13,7 @@ #include "llvm/IR/Instructions.h" #include "llvm/Support/Compiler.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h" #include "phasar/Utils/Logger.h" namespace psr::detail { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp similarity index 74% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp index 5fb162fd9..fc8890e9f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp @@ -7,11 +7,11 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp index d0ea241e2..8042a84fc 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp @@ -7,7 +7,7 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp index 4b7cad0e4..e5528e66b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp @@ -7,7 +7,7 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp similarity index 85% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp index b820d3bbd..7192d8be0 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp @@ -9,12 +9,12 @@ #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp similarity index 87% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp index 6c1ef6e50..ec180e7bf 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp @@ -10,11 +10,11 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/Hashing.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp similarity index 84% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp index 8639bcaa1..272d8d37e 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp @@ -9,11 +9,11 @@ #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp similarity index 91% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp index 739bb16dc..3f4c7589b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp @@ -11,11 +11,11 @@ #include "llvm/IR/CFG.h" #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp similarity index 75% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp index 748599875..b1bbd5976 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp @@ -9,11 +9,11 @@ #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp similarity index 88% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp index 26ff8fc7f..8afb39d36 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp @@ -9,8 +9,8 @@ #include "llvm/IR/Instruction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/BasicBlockOrdering.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp index 55d87409c..cc544b7e7 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp @@ -1,7 +1,7 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Instructions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" namespace psr::XTaint { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp similarity index 76% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp index c529657f9..1b5717c5f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp @@ -7,12 +7,12 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" namespace psr::XTaint { EdgeFunctionBase::EdgeFunctionBase(EFKind Kind, BasicBlockOrdering &BBO) diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp index d52c231f9..41d13820c 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp @@ -7,19 +7,19 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" -#include "phasar/PhasarLLVM/Pointer/PointsToInfo.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" +#include "phasar/Pointer/PointsToInfo.h" #include "phasar/Utils/DebugOutput.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/Utilities.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp similarity index 80% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp index a9c5b3416..456fb8358 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp @@ -7,9 +7,9 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp similarity index 87% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp index b5473224a..cc69e8ea5 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp @@ -7,9 +7,9 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp similarity index 90% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp index 547e37989..689b799e9 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp @@ -11,7 +11,7 @@ #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/Value.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp similarity index 95% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp index d97d74343..7bb331697 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp @@ -7,8 +7,8 @@ * Fabian Schiebel, Alexander Meinhold and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" #include "llvm/ADT/APFloat.h" #include "llvm/IR/Constants.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp similarity index 92% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp index be8874fd1..27eb99372 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp @@ -7,7 +7,7 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp similarity index 86% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp index 189a9155b..97a62b0c3 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp @@ -7,10 +7,10 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp similarity index 93% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp index 63ee2c57e..90f6cb480 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp @@ -7,24 +7,25 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/ControlFlow/SpecialMemberFunctionType.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/Utils/Logger.h" + #include "llvm/Demangle/Demangle.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/InstrTypes.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp similarity index 85% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp index 29aef1677..66cd8b19b 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp @@ -7,12 +7,12 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" #include "phasar/Utils/Logger.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp similarity index 78% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp index 3f11c2757..9587801ff 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp @@ -7,12 +7,12 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp similarity index 88% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp index 1965929bf..55459cf16 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp @@ -12,10 +12,10 @@ #include "llvm/IR/Value.h" #include "llvm/Support/raw_ostream.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp similarity index 91% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp index d6bf9b23b..9865eb38d 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp @@ -12,8 +12,8 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Value.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp similarity index 79% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp index 2d5ae5239..2ce3b797e 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp @@ -7,10 +7,10 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h" namespace psr::glca { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp index ea6650efb..2877e3086 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.cpp @@ -7,7 +7,7 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/Instructions.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.cpp index de2693153..50cf1b5b5 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.cpp @@ -7,14 +7,14 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/DataFlow/IfdsIde/SolverResults.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.cpp index 65cbe7ee8..2db2ec70f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.cpp @@ -7,9 +7,9 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEProtoAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/Utilities.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.cpp index b1bd5cb4e..be3864f04 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.cpp @@ -7,11 +7,11 @@ * Philipp Schubert, Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.cpp similarity index 96% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.cpp index a6e3d24ba..a1db1c995 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.cpp @@ -7,12 +7,12 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.cpp index 0752b2cd4..7def70062 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.cpp @@ -7,14 +7,14 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.cpp index 216b420f5..444d13c0a 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.cpp @@ -7,11 +7,11 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Utils/LLVMCXXShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp similarity index 76% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp index ed1a4f44c..e06e7936e 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp @@ -2,29 +2,29 @@ * @author Sebastian Roland */ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h" #include "llvm/IR/IntrinsicInst.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.cpp similarity index 95% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.cpp index 0be5f448e..19b248339 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.cpp @@ -7,9 +7,9 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSProtoAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.cpp index 32caa0d9c..ee319eaa1 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.cpp @@ -7,9 +7,9 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSignAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "llvm/IR/Function.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.cpp index 7696e7430..53efd5ee1 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.cpp @@ -7,9 +7,9 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp index 314e58136..bec3136e8 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp @@ -7,10 +7,10 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMFlowFunctions.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.cpp similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.cpp index 901b569db..a6906e368 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.cpp @@ -7,11 +7,11 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.cpp index a0ed126d4..fb7fd31e2 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.cpp @@ -7,10 +7,10 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h" +#include "phasar/DataFlow/IfdsIde/FlowFunctions.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp index bf94acdf0..da03787eb 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp @@ -9,7 +9,7 @@ #include "llvm/Support/ErrorHandling.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp index 5c7b2f7ba..d22d7b3a5 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp @@ -14,8 +14,8 @@ #include "llvm/IR/Value.h" #include "llvm/Support/ErrorHandling.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp index 65748afad..2c9ef84f3 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp @@ -11,7 +11,7 @@ #include "llvm/Support/ErrorHandling.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" namespace psr { diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp index c207df97c..0c898ecdf 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp @@ -10,7 +10,7 @@ #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/ErrorHandling.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h" using namespace std; using namespace psr; diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp rename to lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp index 237fc1ad3..c70f9c96f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp @@ -11,7 +11,7 @@ #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/ErrorHandling.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h" using namespace std; using namespace psr; diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt b/lib/PhasarLLVM/DataFlow/Mono/CMakeLists.txt similarity index 94% rename from lib/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt rename to lib/PhasarLLVM/DataFlow/Mono/CMakeLists.txt index 573443d60..ed0ded078 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt +++ b/lib/PhasarLLVM/DataFlow/Mono/CMakeLists.txt @@ -4,7 +4,7 @@ set(PHASAR_LINK_LIBS phasar_config phasar_utils phasar_phasarllvm_utils - phasar_controlflow + phasar_llvm_controlflow phasar_db phasar_taintconfig ) diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.cpp index c7b156661..dccc707f4 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.cpp @@ -7,9 +7,9 @@ * Philipp Schubert, Linus Jungemann and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.cpp similarity index 97% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.cpp index a2df33997..aa542c388 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.cpp @@ -14,9 +14,9 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Value.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.cpp index dc80c9344..2cec8e70f 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.cpp @@ -16,9 +16,9 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Value.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.cpp similarity index 98% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.cpp index ca2592eff..c32fc16f3 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.cpp @@ -7,10 +7,10 @@ * Philipp Schubert, Linus Jungemann and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.cpp similarity index 95% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.cpp index b650c0b28..830b6ca0c 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.cpp @@ -14,9 +14,9 @@ * Author: philipp */ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.cpp similarity index 96% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp rename to lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.cpp index 283f73d7d..8a9f7720a 100644 --- a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp +++ b/lib/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.cpp @@ -7,9 +7,9 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/AnalysisStrategy/HelperAnalyses.cpp b/lib/PhasarLLVM/HelperAnalyses.cpp similarity index 95% rename from lib/PhasarLLVM/AnalysisStrategy/HelperAnalyses.cpp rename to lib/PhasarLLVM/HelperAnalyses.cpp index 568bfbc76..f3b43271a 100644 --- a/lib/PhasarLLVM/AnalysisStrategy/HelperAnalyses.cpp +++ b/lib/PhasarLLVM/HelperAnalyses.cpp @@ -1,6 +1,6 @@ -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/lib/PhasarLLVM/Pointer/CMakeLists.txt b/lib/PhasarLLVM/Pointer/CMakeLists.txt index 62efdf9d0..af832ba01 100644 --- a/lib/PhasarLLVM/Pointer/CMakeLists.txt +++ b/lib/PhasarLLVM/Pointer/CMakeLists.txt @@ -3,6 +3,7 @@ file(GLOB_RECURSE POINTER_SRC *.h *.cpp) set(PHASAR_LINK_LIBS phasar_utils phasar_db + phasar_pointer ) set(LLVM_LINK_COMPONENTS @@ -15,24 +16,24 @@ set(LLVM_LINK_COMPONENTS # Handle the library files if(BUILD_SHARED_LIBS) - add_phasar_library(phasar_pointer + add_phasar_library(phasar_llvm_pointer SHARED ${POINTER_SRC} ) else() - add_phasar_library(phasar_pointer + add_phasar_library(phasar_llvm_pointer STATIC ${POINTER_SRC} ) endif() find_package(Boost COMPONENTS graph REQUIRED) -target_link_libraries(phasar_pointer +target_link_libraries(phasar_llvm_pointer LINK_PUBLIC ${Boost_LIBRARIES} ) -set_target_properties(phasar_pointer +set_target_properties(phasar_llvm_pointer PROPERTIES LINKER_LANGUAGE CXX PREFIX "lib" diff --git a/lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp b/lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp index 8e3ec7e59..9f6c1c321 100644 --- a/lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp +++ b/lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h" #include "llvm/ADT/SetVector.h" diff --git a/lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp b/lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp index f6e16e3c7..2aebcd0ff 100644 --- a/lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp +++ b/lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h" @@ -49,8 +49,8 @@ using namespace std; namespace psr { -template class DynamicPointsToSetPtr<>; -template class DynamicPointsToSetConstPtr<>; +template class BoxedPtr; +template class BoxedConstPtr; template class PointsToSetOwner; LLVMPointsToSet::LLVMPointsToSet(LLVMProjectIRDB &IRDB, bool UseLazyEvaluation, @@ -213,9 +213,8 @@ void LLVMPointsToSet::mergePointsToSets(const llvm::Value *V1, mergePointsToSets(SearchV1->second, SearchV2->second); } -void LLVMPointsToSet::mergePointsToSets( - DynamicPointsToSetPtr PTS1, - DynamicPointsToSetPtr PTS2) { +void LLVMPointsToSet::mergePointsToSets(BoxedPtr PTS1, + BoxedPtr PTS2) { if (PTS1 == PTS2 || PTS1.get() == PTS2.get()) { return; } @@ -548,8 +547,7 @@ LLVMPointsToSet::alias(const llvm::Value *V1, const llvm::Value *V2, : AliasResult::NoAlias; } -auto LLVMPointsToSet::getEmptyPointsToSet() - -> DynamicPointsToSetPtr { +auto LLVMPointsToSet::getEmptyPointsToSet() -> BoxedPtr { static PointsToSetTy EmptySet{}; static PointsToSetTy *EmptySetPtr = &EmptySet; return &EmptySetPtr; diff --git a/lib/PhasarLLVM/TaintConfig/TaintConfig.cpp b/lib/PhasarLLVM/TaintConfig/TaintConfig.cpp index 27f9ad9a3..9a58b2070 100644 --- a/lib/PhasarLLVM/TaintConfig/TaintConfig.cpp +++ b/lib/PhasarLLVM/TaintConfig/TaintConfig.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/Annotation.h" #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt b/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt index 2da9f80f7..1094db186 100644 --- a/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt +++ b/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt @@ -13,24 +13,24 @@ set(LLVM_LINK_COMPONENTS # Handle the library files if(BUILD_SHARED_LIBS) - add_phasar_library(phasar_typehierarchy + add_phasar_library(phasar_llvm_typehierarchy SHARED ${TYPEHIERARCHY_SRC} ) else() - add_phasar_library(phasar_typehierarchy + add_phasar_library(phasar_llvm_typehierarchy STATIC ${TYPEHIERARCHY_SRC} ) endif() find_package(Boost COMPONENTS graph REQUIRED) -target_link_libraries(phasar_typehierarchy +target_link_libraries(phasar_llvm_typehierarchy LINK_PUBLIC ${Boost_LIBRARIES} ) -set_target_properties(phasar_typehierarchy +set_target_properties(phasar_llvm_typehierarchy PROPERTIES LINKER_LANGUAGE CXX PREFIX "lib" diff --git a/lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp b/lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp index 19943dc76..21b1b1a5a 100644 --- a/lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp +++ b/lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp @@ -16,7 +16,7 @@ #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/NlohmannLogging.h" diff --git a/lib/PhasarLLVM/Utils/BinaryDomain.cpp b/lib/PhasarLLVM/Utils/BinaryDomain.cpp index 1145126f4..69e0fbfff 100644 --- a/lib/PhasarLLVM/Utils/BinaryDomain.cpp +++ b/lib/PhasarLLVM/Utils/BinaryDomain.cpp @@ -17,7 +17,7 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" -#include "phasar/PhasarLLVM/Utils/BinaryDomain.h" +#include "phasar/Domain/BinaryDomain.h" llvm::raw_ostream &psr::operator<<(llvm::raw_ostream &OS, BinaryDomain B) { switch (B) { diff --git a/lib/PhasarLLVM/Utils/LLVMShorthands.cpp b/lib/PhasarLLVM/Utils/LLVMShorthands.cpp index c4c3a8229..4aed66ddc 100644 --- a/lib/PhasarLLVM/Utils/LLVMShorthands.cpp +++ b/lib/PhasarLLVM/Utils/LLVMShorthands.cpp @@ -16,7 +16,7 @@ #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/Utilities.h" diff --git a/lib/PhasarPass/CMakeLists.txt b/lib/PhasarPass/CMakeLists.txt index 0bc0e6108..44958b13e 100644 --- a/lib/PhasarPass/CMakeLists.txt +++ b/lib/PhasarPass/CMakeLists.txt @@ -2,14 +2,14 @@ file(GLOB_RECURSE PHASARPASS_SRC *.h *.cpp) set(PHASAR_LINK_LIBS phasar_config - phasar_controlflow - phasar_db - phasar_ifdside + phasar_llvm_controlflow + phasar_llvm_db + phasar_llvm_ifdside phasar_mono phasar_passes phasar_phasarllvm_utils - phasar_pointer - phasar_typehierarchy + phasar_llvm_pointer + phasar_llvm_typehierarchy phasar_utils ) diff --git a/lib/PhasarPass/PhasarPass.cpp b/lib/PhasarPass/PhasarPass.cpp index 0620f7c47..54ac9e1aa 100644 --- a/lib/PhasarPass/PhasarPass.cpp +++ b/lib/PhasarPass/PhasarPass.cpp @@ -8,27 +8,27 @@ *****************************************************************************/ #include "phasar/PhasarPass/PhasarPass.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTypeAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/lib/Pointer/CMakeLists.txt b/lib/Pointer/CMakeLists.txt new file mode 100644 index 000000000..791168961 --- /dev/null +++ b/lib/Pointer/CMakeLists.txt @@ -0,0 +1,29 @@ +file(GLOB_RECURSE POINTER_SRC *.h *.cpp) + +set(PHASAR_LINK_LIBS + phasar_utils + phasar_db +) + +set(LLVM_LINK_COMPONENTS + Support +) + +# Handle the library files +if(BUILD_SHARED_LIBS) + add_phasar_library(phasar_pointer + SHARED + ${POINTER_SRC} + ) +else() + add_phasar_library(phasar_pointer + STATIC + ${POINTER_SRC} + ) +endif() + +set_target_properties(phasar_pointer + PROPERTIES + LINKER_LANGUAGE CXX + PREFIX "lib" +) diff --git a/lib/PhasarLLVM/Pointer/PointerAnalysisType.cpp b/lib/Pointer/PointerAnalysisType.cpp similarity index 90% rename from lib/PhasarLLVM/Pointer/PointerAnalysisType.cpp rename to lib/Pointer/PointerAnalysisType.cpp index 239fa84e6..bcf4dfbb9 100644 --- a/lib/PhasarLLVM/Pointer/PointerAnalysisType.cpp +++ b/lib/Pointer/PointerAnalysisType.cpp @@ -7,7 +7,7 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.h" +#include "phasar/Pointer/PointerAnalysisType.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSwitch.h" @@ -43,7 +43,7 @@ std::string psr::toString(PointerAnalysisType PA) { #define POINTER_ANALYSIS_TYPE(NAME, CMDFLAG, TYPE) \ case PointerAnalysisType::NAME: \ return #NAME; -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.def" +#include "phasar/Pointer/PointerAnalysisType.def" case PointerAnalysisType::Invalid: return "Invalid"; } @@ -53,13 +53,13 @@ psr::PointerAnalysisType psr::toPointerAnalysisType(llvm::StringRef S) { PointerAnalysisType Type = llvm::StringSwitch(S) #define POINTER_ANALYSIS_TYPE(NAME, CMDFLAG, TYPE) \ .Case(#NAME, PointerAnalysisType::NAME) -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.def" +#include "phasar/Pointer/PointerAnalysisType.def" .Default(PointerAnalysisType::Invalid); if (Type == PointerAnalysisType::Invalid) { Type = llvm::StringSwitch(S) #define POINTER_ANALYSIS_TYPE(NAME, CMDFLAG, TYPE) \ .Case(CMDFLAG, PointerAnalysisType::NAME) -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.def" +#include "phasar/Pointer/PointerAnalysisType.def" .Default(PointerAnalysisType::Invalid); } return Type; diff --git a/lib/PhasarLLVM/Utils/DOTGraph.cpp b/lib/Utils/DOTGraph.cpp similarity index 99% rename from lib/PhasarLLVM/Utils/DOTGraph.cpp rename to lib/Utils/DOTGraph.cpp index 9005154dd..42676efdc 100644 --- a/lib/PhasarLLVM/Utils/DOTGraph.cpp +++ b/lib/Utils/DOTGraph.cpp @@ -23,7 +23,7 @@ #include "nlohmann/json.hpp" -#include "phasar/PhasarLLVM/Utils/DOTGraph.h" +#include "phasar/Utils/DOTGraph.h" namespace psr { diff --git a/out/.gitkeep b/out/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt index b392639ee..c3aee7087 100644 --- a/tools/example-tool/CMakeLists.txt +++ b/tools/example-tool/CMakeLists.txt @@ -17,12 +17,13 @@ target_link_libraries(myphasartool phasar_config phasar_controller phasar_db - phasar_controlflow - phasar_ifdside + phasar_llvm_controlflow + phasar_llvm_ifdside phasar_mono phasar_passes - phasar_pointer - phasar_typehierarchy + phasar_llvm_pointer + phasar_llvm_typehierarchy + phasar_llvm phasar_phasarllvm_utils phasar_utils ${Boost_LIBRARIES} diff --git a/tools/example-tool/myphasartool.cpp b/tools/example-tool/myphasartool.cpp index 1dcf56edd..cbb9fbb02 100644 --- a/tools/example-tool/myphasartool.cpp +++ b/tools/example-tool/myphasartool.cpp @@ -7,14 +7,14 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSSolverTest.h" +#include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/Utils/Logger.h" diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt index 7372673a1..1fa6535ed 100644 --- a/tools/phasar-llvm/CMakeLists.txt +++ b/tools/phasar-llvm/CMakeLists.txt @@ -26,16 +26,17 @@ target_link_libraries(phasar-llvm LINK_PUBLIC phasar_config phasar_controller - phasar_controlflow + phasar_llvm_controlflow phasar_phasarllvm_utils phasar_analysis_strategy - phasar_ifdside + phasar_llvm_ifdside phasar_utils phasar_mono - phasar_db + phasar_llvm_db phasar_passes - phasar_pointer - phasar_typehierarchy + phasar_llvm_pointer + phasar_llvm + phasar_llvm_typehierarchy ${SQLITE3_LIBRARY} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} diff --git a/tools/phasar-llvm/phasar-llvm.cpp b/tools/phasar-llvm/phasar-llvm.cpp index 695d8fc8a..3542045d4 100644 --- a/tools/phasar-llvm/phasar-llvm.cpp +++ b/tools/phasar-llvm/phasar-llvm.cpp @@ -7,16 +7,16 @@ * Philipp Schubert and others *****************************************************************************/ +#include "phasar/AnalysisStrategy/Strategies.h" #include "phasar/Config/Configuration.h" #include "phasar/Controller/AnalysisController.h" #include "phasar/Controller/AnalysisControllerEmitterOptions.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/HelperAnalyses.h" -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h" -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.h" #include "phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h" +#include "phasar/Pointer/PointerAnalysisType.h" #include "phasar/Utils/IO.h" #include "phasar/Utils/Logger.h" #include "phasar/Utils/Soundness.h" @@ -87,7 +87,7 @@ cl::opt cl::values( #define ANALYSIS_STRATEGY_TYPES(NAME, CMDFLAG, DESC) \ clEnumValN(AnalysisStrategy::NAME, CMDFLAG, DESC), -#include "phasar/PhasarLLVM/AnalysisStrategy/Strategies.def" +#include "phasar/AnalysisStrategy/Strategies.def" clEnumValN(AnalysisStrategy::None, "none", "none")), cl::init(AnalysisStrategy::WholeProgram), cl::cat(PsrCat), cl::Hidden); @@ -105,7 +105,7 @@ cl::opt PTATypeOpt( cl::values( #define POINTER_ANALYSIS_TYPE(NAME, CMDFLAG, DESC) \ clEnumValN(PointerAnalysisType::NAME, CMDFLAG, DESC), -#include "phasar/PhasarLLVM/Pointer/PointerAnalysisType.def" +#include "phasar/Pointer/PointerAnalysisType.def" clEnumValN(PointerAnalysisType::Invalid, "invalid", "invalid")), cl::init(PointerAnalysisType::CFLAnders), cl::cat(PsrCat)); cl::alias PTATypeAlias("P", cl::aliasopt(PTATypeOpt), diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp index dccba495a..0ecab56ff 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp @@ -1,8 +1,8 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "llvm/IR/Function.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp index 8f009308c..2fa764975 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp @@ -1,9 +1,9 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/ControlFlow/SpecialMemberFunctionType.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "llvm/IR/Function.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp index 540c5df7a..6144cd6f8 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp @@ -1,10 +1,10 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp index 997db732c..2271a620c 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp @@ -10,11 +10,11 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp index 51987143c..d065123f4 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp @@ -1,10 +1,10 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp index 5ef474daa..e9632a524 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp @@ -1,9 +1,9 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp index a79fbc92f..796a5c5b8 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp @@ -1,9 +1,9 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp index 5ce113f63..f09561269 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp @@ -1,9 +1,9 @@ #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp index 09747b582..46727a01d 100644 --- a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp +++ b/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp @@ -1,9 +1,9 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp index 5de4f4b22..20b78681a 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp @@ -1,5 +1,5 @@ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctionComposer.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" #include "gtest/gtest.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp index 26cc465be..43431ab48 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp @@ -1,6 +1,6 @@ #include "gtest/gtest.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h" +#include "phasar/DataFlow/IfdsIde/EdgeFunctions.h" #include #include diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp index 59cadadb2..c2cffbb1c 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp @@ -7,10 +7,10 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysis.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp index e476567e8..440a70cb6 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp @@ -7,14 +7,15 @@ * Fabian Schiebel and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" -#include "phasar/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/Utils/Logger.h" + #include "gtest/gtest.h" #include "llvm/Support/raw_ostream.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp index 67fdd16a7..1e83adc30 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp @@ -7,10 +7,10 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysis.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp index 50af65e38..1cabea882 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp @@ -1,7 +1,7 @@ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp index cf29a0e96..440a17fd2 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp @@ -1,7 +1,7 @@ -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp index 738444f33..da7c00915 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp @@ -7,11 +7,11 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp index c867ac292..f318130d1 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp @@ -10,11 +10,11 @@ #include #include "phasar/DB/ProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp index 9c499f9b1..c0495e56c 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp @@ -12,11 +12,11 @@ #include "gtest/gtest.h" #include "phasar/DB/ProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp index 6056b30c2..03b280a58 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp @@ -12,10 +12,10 @@ #include "gtest/gtest.h" #include "phasar/DB/ProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp index 4e787779a..80e187f50 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp @@ -1,8 +1,8 @@ -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysis.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp index c33e05526..5fca89209 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp @@ -1,9 +1,9 @@ #include -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp index 2d4a51a46..0b50b55e8 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp @@ -1,9 +1,9 @@ #include -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h" -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariables.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp index 2a8607912..38ed14254 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp @@ -7,12 +7,12 @@ * Philipp Schubert, Linus Jungemann, and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp index 0be7bacf2..5ab1171b7 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp @@ -1,10 +1,10 @@ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp index 254c1dfd7..d9d9a9f96 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp @@ -7,11 +7,11 @@ * Philipp Schubert, Linus Jungemann, and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp b/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp index 7fed477e6..5a73c7ffe 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp +++ b/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp @@ -7,11 +7,11 @@ * Philipp Schubert and others *****************************************************************************/ -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp b/unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp index e0ff26f78..2d36964aa 100644 --- a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp +++ b/unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp @@ -1,6 +1,6 @@ #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h" diff --git a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp b/unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp index f821e5a4c..253d62922 100644 --- a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp +++ b/unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp @@ -1,8 +1,8 @@ #include "gtest/gtest.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h" diff --git a/unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp b/unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp index df5999927..1dd2f414b 100644 --- a/unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp +++ b/unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp @@ -1,6 +1,6 @@ #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp b/unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp index 79cf116b7..f8c31b924 100644 --- a/unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp +++ b/unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp @@ -1,7 +1,7 @@ #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Utils/Utilities.h" diff --git a/unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp b/unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp index c1864eaa0..2527161a3 100644 --- a/unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp +++ b/unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp @@ -1,5 +1,5 @@ #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.h" #include "phasar/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.h" #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" diff --git a/unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp b/unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp index cc902d590..cf431b3af 100644 --- a/unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp +++ b/unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp @@ -1,6 +1,6 @@ #include "gtest/gtest.h" -#include "phasar/PhasarLLVM/Utils/LatticeDomain.h" +#include "phasar/Domain/LatticeDomain.h" using namespace psr; diff --git a/unittests/Utils/LLVMIRToSrcTest.cpp b/unittests/Utils/LLVMIRToSrcTest.cpp index 01f1b1b19..2d9139b9e 100644 --- a/unittests/Utils/LLVMIRToSrcTest.cpp +++ b/unittests/Utils/LLVMIRToSrcTest.cpp @@ -1,7 +1,7 @@ #include "phasar/PhasarLLVM/Utils/LLVMIRToSrc.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/Utils/LLVMShorthandsTest.cpp b/unittests/Utils/LLVMShorthandsTest.cpp index b13d93edc..c3c7449e5 100644 --- a/unittests/Utils/LLVMShorthandsTest.cpp +++ b/unittests/Utils/LLVMShorthandsTest.cpp @@ -1,6 +1,6 @@ #include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" #include "phasar/Config/Configuration.h" -#include "phasar/DB/LLVMProjectIRDB.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/Utils/Utilities.h" #include "gtest/gtest.h" From 51b4988e1cb03cfa59c0a99a1a8e28948c021980 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Thu, 5 Jan 2023 09:03:38 +0100 Subject: [PATCH 02/10] Move Mono --- .../phasar/Controller/AnalysisController.h | 4 +- .../DataFlow/Mono/Contexts/CallStringCTX.h | 20 ++--- .../DataFlow/Mono/InterMonoProblem.h | 9 +- .../DataFlow/Mono/IntraMonoProblem.h | 22 +++-- .../DataFlow/Mono/Solver/InterMonoSolver.h | 35 ++++---- .../DataFlow/Mono/Solver/IntraMonoSolver.h | 4 +- include/phasar/Domain/LatticeDomain.h | 7 +- .../PhasarLLVM/DataFlow/Mono/CallString.h | 90 ------------------- .../InterMonoFullConstantPropagation.h | 2 +- .../Mono/Problems/InterMonoSolverTest.h | 2 +- .../Mono/Problems/InterMonoTaintAnalysis.h | 2 +- .../IntraMonoFullConstantPropagation.h | 2 +- .../Mono/Problems/IntraMonoSolverTest.h | 2 +- .../Mono/Problems/IntraMonoUninitVariables.h | 2 +- .../PhasarLLVM/SimpleProblemConstructor.h | 88 ++++++++++++++++++ include/phasar/Utils/Printer.h | 25 +++--- lib/PhasarPass/PhasarPass.cpp | 4 +- unittests/PhasarLLVM/CMakeLists.txt | 2 +- .../CMakeLists.txt | 0 .../IfdsIde/CMakeLists.txt | 0 .../IfdsIde/EdgeFunctionComposerTest.cpp | 0 .../EdgeFunctionSingletonFactoryTest.cpp | 0 .../IfdsIde/Problems/CMakeLists.txt | 0 .../Problems/IDEExtendedTaintAnalysisTest.cpp | 0 .../Problems/IDEGeneralizedLCATest.cpp | 0 .../IDEInstInteractionAnalysisTest.cpp | 0 .../IDELinearConstantAnalysisTest.cpp | 0 .../IDELinearConstantAnalysis_DotTest.cpp | 0 .../Problems/IDETSAnalysisFileIOTest.cpp | 0 .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 24 +++-- .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 24 ++--- .../IDETSAnalysisOpenSSLSecureMemoryTest.cpp | 17 ++-- .../Problems/IFDSConstAnalysisTest.cpp | 0 .../Problems/IFDSTaintAnalysisTest.cpp | 0 .../IFDSUninitializedVariablesTest.cpp | 0 .../Mono/CMakeLists.txt | 0 .../InterMonoFullConstantPropagationTest.cpp | 3 +- .../Mono/InterMonoTaintAnalysisTest.cpp | 3 +- .../IntraMonoFullConstantPropagationTest.cpp | 3 +- .../Mono/IntraMonoUninitVariablesTest.cpp | 2 +- 40 files changed, 194 insertions(+), 204 deletions(-) rename include/phasar/{PhasarLLVM => }/DataFlow/Mono/Contexts/CallStringCTX.h (86%) rename include/phasar/{PhasarLLVM => }/DataFlow/Mono/InterMonoProblem.h (88%) rename include/phasar/{PhasarLLVM => }/DataFlow/Mono/IntraMonoProblem.h (84%) rename include/phasar/{PhasarLLVM => }/DataFlow/Mono/Solver/InterMonoSolver.h (93%) rename include/phasar/{PhasarLLVM => }/DataFlow/Mono/Solver/IntraMonoSolver.h (98%) delete mode 100644 include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h create mode 100644 include/phasar/PhasarLLVM/SimpleProblemConstructor.h rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/CMakeLists.txt (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/CMakeLists.txt (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/EdgeFunctionComposerTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/CMakeLists.txt (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEGeneralizedLCATest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp (96%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp (88%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp (93%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSConstAnalysisTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/CMakeLists.txt (100%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/InterMonoFullConstantPropagationTest.cpp (97%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/InterMonoTaintAnalysisTest.cpp (99%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/IntraMonoFullConstantPropagationTest.cpp (97%) rename unittests/PhasarLLVM/{DataFlowSolver => DataFlow}/Mono/IntraMonoUninitVariablesTest.cpp (97%) diff --git a/include/phasar/Controller/AnalysisController.h b/include/phasar/Controller/AnalysisController.h index adb39bc97..6ce335c6f 100644 --- a/include/phasar/Controller/AnalysisController.h +++ b/include/phasar/Controller/AnalysisController.h @@ -16,10 +16,10 @@ #include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" #include "phasar/DataFlow/IfdsIde/SolverResults.h" +#include "phasar/DataFlow/Mono/Solver/InterMonoSolver.h" +#include "phasar/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/HelperAnalyses.h" #include "phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h b/include/phasar/DataFlow/Mono/Contexts/CallStringCTX.h similarity index 86% rename from include/phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h rename to include/phasar/DataFlow/Mono/Contexts/CallStringCTX.h index 134eb16ff..8d3ba5a66 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h +++ b/include/phasar/DataFlow/Mono/Contexts/CallStringCTX.h @@ -6,14 +6,17 @@ #include #include "boost/functional/hash.hpp" -#include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" + +#include "phasar/Utils/Printer.h" + +#include "llvm/Support/raw_ostream.h" namespace psr { template class CallStringCTX { protected: std::deque CallString; - static const unsigned KLimit = K; + static constexpr unsigned KLimit = K; friend struct std::hash>; public: @@ -65,21 +68,16 @@ template class CallStringCTX { return Lhs.cs < Rhs.cs; } - void print(llvm::raw_ostream &OS) const { + llvm::raw_ostream &print(llvm::raw_ostream &OS, + const NodePrinterBase &NP) const { OS << "Call string: [ "; for (auto C : CallString) { - OS << llvmIRToString(C); + NP.printNode(OS, C); if (C != CallString.back()) { OS << " * "; } } - OS << " ]"; - } - - friend llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, - const CallStringCTX &C) { - C.print(OS); - return OS; + return OS << " ]"; } [[nodiscard]] bool empty() const { return CallString.empty(); } diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h b/include/phasar/DataFlow/Mono/InterMonoProblem.h similarity index 88% rename from include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h rename to include/phasar/DataFlow/Mono/InterMonoProblem.h index edf6af46d..31d9f3bbb 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h +++ b/include/phasar/DataFlow/Mono/InterMonoProblem.h @@ -18,7 +18,7 @@ #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_INTERMONOPROBLEM_H #include "phasar/ControlFlow/ICFGBase.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" +#include "phasar/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/Utils/BitVectorSet.h" #include @@ -47,15 +47,14 @@ class InterMonoProblem : public IntraMonoProblem { const i_t *ICF; public: - InterMonoProblem(const db_t *IRDB, const TypeHierarchy *TH, - const i_t *ICF, const PointsToInfo *PT, + InterMonoProblem(const ProjectIRDBBase *IRDB, + const TypeHierarchy *TH, const i_t *ICF, + const PointsToInfo *PT, std::vector EntryPoints = {}) : IntraMonoProblem(IRDB, TH, ICF, PT, EntryPoints), ICF(ICF) { static_assert(is_icfg_v, "Type parameter i_t must implement the ICFG interface!"); - static_assert(std::is_base_of_v, db_t>, - "db_t must implement the ProjectIRDBBase interface!"); } ~InterMonoProblem() override = default; diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h b/include/phasar/DataFlow/Mono/IntraMonoProblem.h similarity index 84% rename from include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h rename to include/phasar/DataFlow/Mono/IntraMonoProblem.h index 3065201c4..dd4caba84 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h +++ b/include/phasar/DataFlow/Mono/IntraMonoProblem.h @@ -54,9 +54,9 @@ class IntraMonoProblem : public NodePrinter, using ProblemAnalysisDomain = AnalysisDomainTy; protected: - const db_t *IRDB; + const ProjectIRDBBase *IRDB; const TypeHierarchy *TH; - const c_t *CF; + const CFGBase *CF; const PointsToInfo *PT; std::vector EntryPoints; [[maybe_unused]] Soundness S = Soundness::Soundy; @@ -66,16 +66,12 @@ class IntraMonoProblem : public NodePrinter, // a user problem can override the type of configuration to be used, if any using ConfigurationTy = HasNoConfigurationType; - IntraMonoProblem(const db_t *IRDB, const TypeHierarchy *TH, - const c_t *CF, const PointsToInfo *PT, + IntraMonoProblem(const ProjectIRDBBase *IRDB, + const TypeHierarchy *TH, const CFGBase *CF, + const PointsToInfo *PT, std::vector EntryPoints = {}) : IRDB(IRDB), TH(TH), CF(CF), PT(PT), - EntryPoints(std::move(EntryPoints)) { - static_assert(is_cfg_v, - "c_t must implement the CFG interface!"); - static_assert(std::is_base_of_v, db_t>, - "db_t must implement the ProjectIRDBBase interface!"); - } + EntryPoints(std::move(EntryPoints)) {} virtual ~IntraMonoProblem() = default; @@ -95,13 +91,15 @@ class IntraMonoProblem : public NodePrinter, return EntryPoints; } - [[nodiscard]] const db_t *getProjectIRDB() const { return IRDB; } + [[nodiscard]] const ProjectIRDBBase *getProjectIRDB() const { + return IRDB; + } [[nodiscard]] const TypeHierarchy *getTypeHierarchy() const { return TH; } - [[nodiscard]] const c_t *getCFG() const { return CF; } + [[nodiscard]] const CFGBase *getCFG() const { return CF; } [[nodiscard]] const PointsToInfo *getPointstoInfo() const { return PT; diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h b/include/phasar/DataFlow/Mono/Solver/InterMonoSolver.h similarity index 93% rename from include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h rename to include/phasar/DataFlow/Mono/Solver/InterMonoSolver.h index 2cac894cd..fc0ff6c43 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h +++ b/include/phasar/DataFlow/Mono/Solver/InterMonoSolver.h @@ -23,9 +23,8 @@ #include #include -#include "phasar/PhasarLLVM/DataFlow/Mono/Contexts/CallStringCTX.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" -#include "phasar/PhasarLLVM/Utils/LLVMShorthands.h" +#include "phasar/DataFlow/Mono/Contexts/CallStringCTX.h" +#include "phasar/DataFlow/Mono/InterMonoProblem.h" namespace psr { @@ -86,8 +85,8 @@ template class InterMonoSolver { void printWorkList() { llvm::outs() << "CURRENT WORKLIST:\n"; for (auto &[Src, Dst] : Worklist) { - llvm::outs() << llvmIRToString(Src) << " --> " << llvmIRToString(Dst) - << '\n'; + llvm::outs() << IMProblem.NtoString(Src) << " --> " + << IMProblem.NtoString(Dst) << '\n'; } llvm::outs() << "-----------------\n"; } @@ -179,8 +178,8 @@ template class InterMonoSolver { llvm::outs() << "Handle normal flow\n"; auto Src = Edge.first; auto Dst = Edge.second; - llvm::outs() << "Src: " << llvmIRToString(Src) << '\n'; - llvm::outs() << "Dst: " << llvmIRToString(Dst) << '\n'; + llvm::outs() << "Src: " << IMProblem.NtoString(Src) << '\n'; + llvm::outs() << "Dst: " << IMProblem.NtoString(Dst) << '\n'; std::unordered_map, mono_container_t> Out; for (auto &[Ctx, Facts] : Analysis[Src]) { Out[Ctx] = IMProblem.normalFlow(Src, Analysis[Src][Ctx]); @@ -225,8 +224,8 @@ template class InterMonoSolver { std::unordered_map, mono_container_t> Out; if (!isIntraEdge(Edge)) { llvm::outs() << "Handle call flow\n"; - llvm::outs() << "Src: " << llvmIRToString(Src) << '\n'; - llvm::outs() << "Dst: " << llvmIRToString(Dst) << '\n'; + llvm::outs() << "Src: " << IMProblem.NtoString(Src) << '\n'; + llvm::outs() << "Dst: " << IMProblem.NtoString(Dst) << '\n'; for (auto &[Ctx, Facts] : Analysis[Src]) { auto CTXAdd(Ctx); CTXAdd.push_back(Src); @@ -254,8 +253,8 @@ template class InterMonoSolver { } else { // Handle call-to-ret flow llvm::outs() << "Handle call to ret flow\n"; - llvm::outs() << "Src: " << llvmIRToString(Src) << '\n'; - llvm::outs() << "Dst: " << llvmIRToString(Dst) << '\n'; + llvm::outs() << "Src: " << IMProblem.NtoString(Src) << '\n'; + llvm::outs() << "Dst: " << IMProblem.NtoString(Dst) << '\n'; for (auto &[Ctx, Facts] : Analysis[Src]) { // call-to-ret flow does not modify contexts Out[Ctx] = IMProblem.callToRetFlow( @@ -289,11 +288,11 @@ template class InterMonoSolver { std::unordered_map, mono_container_t> Out; llvm::outs() << "\nHandle ret flow in: " << ICF->getFunctionName(ICF->getFunctionOf(Src)) << '\n'; - llvm::outs() << "Src: " << llvmIRToString(Src) << '\n'; - llvm::outs() << "Dst: " << llvmIRToString(Dst) << '\n'; + llvm::outs() << "Src: " << IMProblem.NtoString(Src) << '\n'; + llvm::outs() << "Dst: " << IMProblem.NtoString(Dst) << '\n'; for (auto &[Ctx, Facts] : Analysis[Src]) { auto CTXRm(Ctx); - llvm::outs() << "CTXRm: " << CTXRm << '\n'; + CTXRm.print(llvm::outs() << "CTXRm: ", IMProblem) << '\n'; // we need to use several call- and retsites if the context is empty llvm::SmallVector CallSites; @@ -320,7 +319,7 @@ template class InterMonoSolver { // TODO! llvm::outs() << "ResSites.size(): " << RetSites.size() << '\n'; for (auto RetSite : RetSites) { - llvm::outs() << "RetSite: " << llvmIRToString(RetSite) << '\n'; + llvm::outs() << "RetSite: " << IMProblem.NtoString(RetSite) << '\n'; llvm::outs() << "Return facts: "; IMProblem.printContainer(llvm::outs(), Out[CTXRm]); llvm::outs() << '\n'; @@ -403,18 +402,18 @@ template class InterMonoSolver { virtual void dumpResults(llvm::raw_ostream &OS = llvm::outs()) { OS << "======= DUMP LLVM-INTER-MONOTONE-SOLVER RESULTS =======\n"; for (auto &[Node, ContextMap] : this->Analysis) { - OS << "Instruction:\n" << this->IMProblem.NtoString(Node); + OS << "Instruction:\n" << IMProblem.NtoString(Node); OS << "\nFacts:\n"; if (ContextMap.empty()) { OS << "\tEMPTY\n"; } else { for (auto &[Context, FlowFacts] : ContextMap) { - OS << Context << '\n'; + Context.print(OS, IMProblem) << '\n'; if (FlowFacts.empty()) { OS << "\tEMPTY\n"; } else { for (auto FlowFact : FlowFacts) { - OS << this->IMProblem.DtoString(FlowFact); + OS << IMProblem.DtoString(FlowFact); } } } diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h b/include/phasar/DataFlow/Mono/Solver/IntraMonoSolver.h similarity index 98% rename from include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h rename to include/phasar/DataFlow/Mono/Solver/IntraMonoSolver.h index 4f0d50286..77a44cc93 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h +++ b/include/phasar/DataFlow/Mono/Solver/IntraMonoSolver.h @@ -22,7 +22,7 @@ #include #include -#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" +#include "phasar/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/Utils/BitVectorSet.h" namespace psr { @@ -43,7 +43,7 @@ template class IntraMonoSolver { ProblemTy &IMProblem; std::deque> Worklist; std::unordered_map Analysis; - const c_t *CFG; + const CFGBase *CFG; void initialize() { const auto &EntryPoints = IMProblem.getEntryPoints(); diff --git a/include/phasar/Domain/LatticeDomain.h b/include/phasar/Domain/LatticeDomain.h index 344e67f15..4cd1fabc4 100644 --- a/include/phasar/Domain/LatticeDomain.h +++ b/include/phasar/Domain/LatticeDomain.h @@ -101,7 +101,7 @@ inline bool operator==(const LatticeDomain &Lhs, psr::Top /*Rhs*/) noexcept { template < typename L, typename LL, typename = std::void_t() == std::declval())>> -inline bool operator==(const LL &Lhs, const LatticeDomain Rhs) { +inline bool operator==(const LL &Lhs, const LatticeDomain &Rhs) { if (auto RVal = Rhs.getValueOrNull()) { return Lhs == *RVal; } @@ -111,7 +111,7 @@ inline bool operator==(const LL &Lhs, const LatticeDomain Rhs) { template < typename L, typename LL, typename = std::void_t() == std::declval())>> -inline bool operator==(const LatticeDomain Lhs, const LL &Rhs) { +inline bool operator==(const LatticeDomain &Lhs, const LL &Rhs) { return Rhs == Lhs; } @@ -135,8 +135,7 @@ inline bool operator<(const LatticeDomain &Lhs, if (auto RhsPtr = Rhs.getValueOrNull()) { return *LhsPtr < *RhsPtr; } - } - if (Lhs.isBottom()) { + } else if (Lhs.isBottom()) { return false; } if (Rhs.isBottom()) { diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h b/include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h deleted file mode 100644 index 10d2687ce..000000000 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/CallString.h +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2017 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -/* - * CallString.h - * - * Created on: 06.06.2017 - * Author: philipp - */ - -#ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_CALLSTRING_H -#define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_CALLSTRING_H - -#include -#include -#include -#include -#include - -#include "llvm/ADT/STLExtras.h" -#include "llvm/Support/raw_ostream.h" - -namespace psr { - -template class CallString { -private: - std::deque CS; - static const unsigned KLimit = K; - -public: - CallString() = default; - CallString(std::initializer_list IList) : CS(IList) { - if (IList.size() > KLimit) { - throw std::runtime_error( - "initial call string length exceeds maximal length K"); - } - } - - void push(T S) { - if (CS.size() > KLimit - 1) { - CS.pop_front(); - } - CS.push_back(S); - } - - T returnSite() { - if (!CS.empty()) { - return CS.back(); - } - return {}; - } - - void pop() { - if (!CS.empty()) { - CS.pop_back(); - } - } - - size_t size() { return CS.size(); } - - std::deque getInternalCS() const { return CS; } - - friend bool operator==(const CallString &Lhs, const CallString &Rhs) { - return Lhs.cs == Rhs.cs; - } - - friend bool operator!=(const CallString &Lhs, const CallString &Rhs) { - return !(Lhs == Rhs); - } - - friend bool operator<(const CallString &Lhs, const CallString &Rhs) { - return Lhs.cs < Rhs.cs; - } - - friend llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, - const CallString &C) { - llvm::interleave(C.CS, OS, " * "); - return OS; - } -}; - -} // namespace psr - -#endif diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h index 73a0b7078..da7857afb 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h @@ -10,8 +10,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOFULLCONSTANTPROPAGATION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOFULLCONSTANTPROPAGATION_H +#include "phasar/DataFlow/Mono/InterMonoProblem.h" #include "phasar/Domain/LatticeDomain.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h index 05e062e25..83fdc9edf 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoSolverTest.h @@ -17,7 +17,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOSOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOSOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" +#include "phasar/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h index 254f20918..bc8fe67c3 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h @@ -17,8 +17,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOTAINTANALYSIS_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTERMONOTAINTANALYSIS_H +#include "phasar/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/InterMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h index 8590e048e..558530ab7 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h @@ -17,8 +17,8 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOFULLCONSTANTPROPAGATION_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOFULLCONSTANTPROPAGATION_H +#include "phasar/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/Domain/LatticeDomain.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h index 046df576f..7958d7775 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h @@ -17,7 +17,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOSOLVERTEST_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOSOLVERTEST_H -#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" +#include "phasar/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include "phasar/Utils/BitVectorSet.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h index f2a96d484..ad645c6ec 100644 --- a/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h +++ b/include/phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOUNINITVARIABLES_H #define PHASAR_PHASARLLVM_DATAFLOWSOLVER_MONO_PROBLEMS_INTRAMONOUNINITVARIABLES_H -#include "phasar/PhasarLLVM/DataFlow/Mono/IntraMonoProblem.h" +#include "phasar/DataFlow/Mono/IntraMonoProblem.h" #include "phasar/PhasarLLVM/Domain/LLVMAnalysisDomain.h" #include diff --git a/include/phasar/PhasarLLVM/SimpleProblemConstructor.h b/include/phasar/PhasarLLVM/SimpleProblemConstructor.h new file mode 100644 index 000000000..856207c82 --- /dev/null +++ b/include/phasar/PhasarLLVM/SimpleProblemConstructor.h @@ -0,0 +1,88 @@ +#ifndef PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H +#define PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H + +#include "phasar/PhasarLLVM/HelperAnalyses.h" + +#include + +namespace psr { +class LLVMProjectIRDB; +class LLVMPointsToInfo; +class LLVMBasedICFG; +class LLVMTypeHierarchy; + +namespace detail { +template +struct HelperAnalysesSelector {}; + +template +struct HelperAnalysesSelector>, + ArgTys...> { + ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { + return ProblemTy(HA, std::forward(Args)...); + } +}; + +template +struct HelperAnalysesSelector< + ProblemTy, + std::enable_if_t< + std::is_constructible_v>, + ArgTys...> { + ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { + return ProblemTy(&HA.getProjectIRDB(), std::forward(Args)...); + } +}; + +template +struct HelperAnalysesSelector>, + ArgTys...> { + ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { + return ProblemTy(&HA.getProjectIRDB(), &HA.getPointsToInfo(), + std::forward(Args)...); + } +}; + +template +struct HelperAnalysesSelector< + ProblemTy, + std::enable_if_t>, + ArgTys...> { + ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { + return ProblemTy(&HA.getProjectIRDB(), &HA.getICFG(), &HA.getPointsToInfo(), + std::forward(Args)...); + } +}; + +template +struct HelperAnalysesSelector< + ProblemTy, + std::enable_if_t>, + ArgTys...> { + ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { + return ProblemTy(&HA.getProjectIRDB(), &HA.getTypeHierarchy(), + &HA.getICFG(), &HA.getPointsToInfo(), + std::forward(Args)...); + } +}; + +} // namespace detail + +template +ProblemTy createAnalysisProblem(HelperAnalyses &HA, ArgTys &&...Args) { + return detail::HelperAnalysesSelector::create( + HA, std::forward(Args)...); +} + +} // namespace psr + +#endif // PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H diff --git a/include/phasar/Utils/Printer.h b/include/phasar/Utils/Printer.h index e19027f56..f54ad45c9 100644 --- a/include/phasar/Utils/Printer.h +++ b/include/phasar/Utils/Printer.h @@ -26,25 +26,28 @@ std::string toStringBuilder(void (P::*Printer)(llvm::raw_ostream &, T) const, return Buffer; } -template struct NodePrinter { - using n_t = typename AnalysisDomainTy::n_t; +template struct NodePrinterBase { - virtual void printNode(llvm::raw_ostream &OS, n_t Stmt) const = 0; + virtual void printNode(llvm::raw_ostream &OS, N Stmt) const = 0; - [[nodiscard]] std::string NtoString(n_t Stmt) const { // NOLINT - return toStringBuilder(&NodePrinter::printNode, this, Stmt); + [[nodiscard]] std::string NtoString(N Stmt) const { // NOLINT + return toStringBuilder(&NodePrinterBase::printNode, this, Stmt); } }; +template +using NodePrinter = NodePrinterBase; -template struct DataFlowFactPrinter { - using d_t = typename AnalysisDomainTy::d_t; +template struct DataFlowFactPrinterBase { + virtual void printDataFlowFact(llvm::raw_ostream &OS, D Fact) const = 0; - virtual void printDataFlowFact(llvm::raw_ostream &OS, d_t Fact) const = 0; - - [[nodiscard]] std::string DtoString(d_t Fact) const { // NOLINT - return toStringBuilder(&DataFlowFactPrinter::printDataFlowFact, this, Fact); + [[nodiscard]] std::string DtoString(D Fact) const { // NOLINT + return toStringBuilder(&DataFlowFactPrinterBase::printDataFlowFact, this, + Fact); } }; +template +using DataFlowFactPrinter = + DataFlowFactPrinterBase; template struct ValuePrinter { virtual void printValue(llvm::raw_ostream &OS, V Val) const = 0; diff --git a/lib/PhasarPass/PhasarPass.cpp b/lib/PhasarPass/PhasarPass.cpp index 54ac9e1aa..8354782ea 100644 --- a/lib/PhasarPass/PhasarPass.cpp +++ b/lib/PhasarPass/PhasarPass.cpp @@ -10,6 +10,8 @@ #include "phasar/PhasarPass/PhasarPass.h" #include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/DataFlow/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/DataFlow/Mono/Solver/InterMonoSolver.h" +#include "phasar/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" @@ -27,8 +29,6 @@ #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoSolverTest.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TaintConfig/TaintConfig.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/CMakeLists.txt b/unittests/PhasarLLVM/CMakeLists.txt index cdca4ea54..da7063d21 100644 --- a/unittests/PhasarLLVM/CMakeLists.txt +++ b/unittests/PhasarLLVM/CMakeLists.txt @@ -1,5 +1,5 @@ add_subdirectory(ControlFlow) -add_subdirectory(DataFlowSolver) +add_subdirectory(DataFlow) add_subdirectory(Utils) # add_subdirectory(Passes) add_subdirectory(Pointer) diff --git a/unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt b/unittests/PhasarLLVM/DataFlow/CMakeLists.txt similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt rename to unittests/PhasarLLVM/DataFlow/CMakeLists.txt diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt b/unittests/PhasarLLVM/DataFlow/IfdsIde/CMakeLists.txt similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt rename to unittests/PhasarLLVM/DataFlow/IfdsIde/CMakeLists.txt diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/EdgeFunctionComposerTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/EdgeFunctionComposerTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/CMakeLists.txt similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/CMakeLists.txt diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCATest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCATest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp similarity index 96% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp index f318130d1..4a26ea09d 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp @@ -9,9 +9,9 @@ #include -#include "phasar/DB/ProjectIRDB.h" #include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h" @@ -32,7 +32,7 @@ class IDETSAnalysisOpenSSLEVPKDFTest : public ::testing::Test { "build/test/llvm_test_code/openssl/key_derivation/"; const std::vector EntryPoints = {"main"}; - unique_ptr IRDB; + unique_ptr IRDB; unique_ptr TH; unique_ptr ICFG; unique_ptr PT; @@ -53,28 +53,26 @@ class IDETSAnalysisOpenSSLEVPKDFTest : public ::testing::Test { IDETSAnalysisOpenSSLEVPKDFTest() = default; ~IDETSAnalysisOpenSSLEVPKDFTest() override = default; - void initialize(const std::vector &IRFiles) { - IRDB = make_unique(IRFiles, IRDBOptions::WPA); + void initialize(const std::string &IRFile) { + IRDB = make_unique(IRFile); TH = make_unique(*IRDB); PT = make_unique(*IRDB); - ICFG = make_unique(*IRDB, CallGraphAnalysisType::OTF, + ICFG = make_unique(IRDB.get(), CallGraphAnalysisType::OTF, EntryPoints, TH.get(), PT.get()); OpenSSLEVPKDFDesc = make_unique(); TSKDFProblem = make_unique( - IRDB.get(), TH.get(), ICFG.get(), PT.get(), *OpenSSLEVPKDFDesc, - EntryPoints); - KdfSolver = - make_unique>(*TSKDFProblem); + IRDB.get(), PT.get(), OpenSSLEVPKDFDesc.get(), EntryPoints); + KdfSolver = make_unique>( + *TSKDFProblem, ICFG.get()); OpenSSLEVPKeyDerivationDesc = make_unique(*KdfSolver); TSProblem = make_unique( - IRDB.get(), TH.get(), ICFG.get(), PT.get(), - *OpenSSLEVPKeyDerivationDesc, EntryPoints); + IRDB.get(), PT.get(), OpenSSLEVPKeyDerivationDesc.get(), EntryPoints); - Llvmtssolver = - make_unique>(*TSProblem); + Llvmtssolver = make_unique>( + *TSProblem, ICFG.get()); KdfSolver->solve(); Llvmtssolver->solve(); } diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp similarity index 88% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp index c0495e56c..6ca1d39fa 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp @@ -11,9 +11,9 @@ #include "gtest/gtest.h" -#include "phasar/DB/ProjectIRDB.h" #include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDESecureHeapPropagation.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h" @@ -32,7 +32,7 @@ class IDETSAnalysisOpenSSLSecureHeapTest : public ::testing::Test { "build/test/llvm_test_code/openssl/secure_heap/"; const std::vector EntryPoints = {"main"}; - unique_ptr IRDB; + unique_ptr IRDB; unique_ptr TH; unique_ptr ICFG; unique_ptr PT; @@ -54,25 +54,25 @@ class IDETSAnalysisOpenSSLSecureHeapTest : public ::testing::Test { IDETSAnalysisOpenSSLSecureHeapTest() = default; ~IDETSAnalysisOpenSSLSecureHeapTest() override = default; - void initialize(const std::vector &IRFiles) { - IRDB = make_unique(IRFiles, IRDBOptions::WPA); + void initialize(const std::string &IRFile) { + IRDB = make_unique(IRFile); TH = make_unique(*IRDB); PT = make_unique(*IRDB); - ICFG = make_unique(*IRDB, CallGraphAnalysisType::OTF, + ICFG = make_unique(IRDB.get(), CallGraphAnalysisType::OTF, EntryPoints, TH.get(), PT.get()); - SecureHeapPropagationProblem = make_unique( - IRDB.get(), TH.get(), ICFG.get(), PT.get(), EntryPoints); + SecureHeapPropagationProblem = + make_unique(IRDB.get(), EntryPoints); SecureHeapPropagationResults = make_unique>( - *SecureHeapPropagationProblem); + *SecureHeapPropagationProblem, ICFG.get()); Desc = make_unique( *SecureHeapPropagationResults); - TSProblem = make_unique( - IRDB.get(), TH.get(), ICFG.get(), PT.get(), *Desc, EntryPoints); - Llvmtssolver = - make_unique>(*TSProblem); + TSProblem = make_unique(IRDB.get(), PT.get(), + Desc.get(), EntryPoints); + Llvmtssolver = make_unique>( + *TSProblem, ICFG.get()); SecureHeapPropagationResults->solve(); Llvmtssolver->solve(); diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp similarity index 93% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp index 03b280a58..96b0ec1a9 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp @@ -11,9 +11,9 @@ #include "gtest/gtest.h" -#include "phasar/DB/ProjectIRDB.h" #include "phasar/DataFlow/IfdsIde/Solver/IDESolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.h" #include "phasar/PhasarLLVM/DataFlow/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" @@ -31,7 +31,7 @@ class IDETSAnalysisOpenSSLSecureMemoryTest : public ::testing::Test { "build/test/llvm_test_code/openssl/secure_memory/"; const std::vector EntryPoints = {"main"}; - unique_ptr IRDB; + unique_ptr IRDB; unique_ptr TH; unique_ptr ICFG; unique_ptr PT; @@ -50,16 +50,17 @@ class IDETSAnalysisOpenSSLSecureMemoryTest : public ::testing::Test { IDETSAnalysisOpenSSLSecureMemoryTest() = default; ~IDETSAnalysisOpenSSLSecureMemoryTest() override = default; - void initialize(const std::vector &IRFiles) { - IRDB = make_unique(IRFiles, IRDBOptions::WPA); + void initialize(const std::string &IRFile) { + IRDB = make_unique(IRFile); TH = make_unique(*IRDB); PT = make_unique(*IRDB); - ICFG = make_unique(*IRDB, CallGraphAnalysisType::OTF, + ICFG = make_unique(IRDB.get(), CallGraphAnalysisType::OTF, EntryPoints, TH.get(), PT.get()); Desc = make_unique(); - TSProblem = make_unique( - IRDB.get(), TH.get(), ICFG.get(), PT.get(), *Desc, EntryPoints); - Llvmtssolver = make_unique>(*TSProblem); + TSProblem = make_unique(IRDB.get(), PT.get(), + Desc.get(), EntryPoints); + Llvmtssolver = + make_unique>(*TSProblem, ICFG.get()); Llvmtssolver->solve(); } diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSConstAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp b/unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp rename to unittests/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt b/unittests/PhasarLLVM/DataFlow/Mono/CMakeLists.txt similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt rename to unittests/PhasarLLVM/DataFlow/Mono/CMakeLists.txt diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp b/unittests/PhasarLLVM/DataFlow/Mono/InterMonoFullConstantPropagationTest.cpp similarity index 97% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp rename to unittests/PhasarLLVM/DataFlow/Mono/InterMonoFullConstantPropagationTest.cpp index 38ed14254..34a8d480b 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/Mono/InterMonoFullConstantPropagationTest.cpp @@ -9,10 +9,9 @@ #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoFullConstantPropagation.h" #include "phasar/Config/Configuration.h" +#include "phasar/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp b/unittests/PhasarLLVM/DataFlow/Mono/InterMonoTaintAnalysisTest.cpp similarity index 99% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp rename to unittests/PhasarLLVM/DataFlow/Mono/InterMonoTaintAnalysisTest.cpp index 5ab1171b7..745087cec 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/Mono/InterMonoTaintAnalysisTest.cpp @@ -1,10 +1,9 @@ #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/InterMonoTaintAnalysis.h" +#include "phasar/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/InterMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp b/unittests/PhasarLLVM/DataFlow/Mono/IntraMonoFullConstantPropagationTest.cpp similarity index 97% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp rename to unittests/PhasarLLVM/DataFlow/Mono/IntraMonoFullConstantPropagationTest.cpp index d9d9a9f96..814e12b1c 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/Mono/IntraMonoFullConstantPropagationTest.cpp @@ -8,10 +8,9 @@ *****************************************************************************/ #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoFullConstantPropagation.h" +#include "phasar/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/CallString.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp b/unittests/PhasarLLVM/DataFlow/Mono/IntraMonoUninitVariablesTest.cpp similarity index 97% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp rename to unittests/PhasarLLVM/DataFlow/Mono/IntraMonoUninitVariablesTest.cpp index 5a73c7ffe..b7c8ea5c0 100644 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp +++ b/unittests/PhasarLLVM/DataFlow/Mono/IntraMonoUninitVariablesTest.cpp @@ -9,9 +9,9 @@ #include "phasar/PhasarLLVM/DataFlow/Mono/Problems/IntraMonoUninitVariables.h" #include "phasar/Config/Configuration.h" +#include "phasar/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" #include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h" -#include "phasar/PhasarLLVM/DataFlow/Mono/Solver/IntraMonoSolver.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" #include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" #include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" From d57da75ea37d328309a0d6da8f44a5330a741f11 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Thu, 5 Jan 2023 10:40:10 +0100 Subject: [PATCH 03/10] Remove unnecessary stuff + minor --- .../CallGraphAnalysisType.def | 0 .../CallGraphAnalysisType.h | 2 +- .../DataFlow/IfdsIde/IFDSIDESolverConfig.h | 6 -- .../PhasarLLVM/ControlFlow/LLVMBasedICFG.h | 2 +- .../DataFlow/IfdsIde/LLVMZeroValue.h | 6 +- .../phasar/PhasarLLVM/HelperAnalysisConfig.h | 2 +- .../PhasarLLVM/SimpleProblemConstructor.h | 88 ----------------- include/phasar/PhasarLLVM/Utils/IOFormat.def | 18 ---- include/phasar/PhasarLLVM/Utils/IOFormat.h | 34 ------- include/phasar/PhasarLLVM/Utils/Scopes.h | 28 ------ .../phasar/PhasarLLVM/Utils/SummaryStrategy.h | 41 -------- include/phasar/Utils/ByRef.h | 14 +-- include/phasar/Utils/EnumFlags.h | 98 +++++++++---------- include/phasar/Utils/Table.h | 3 +- include/phasar/Utils/TypeTraits.h | 37 +++---- .../CallGraphAnalysisType.cpp | 8 +- lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp | 2 +- .../ControlFlow/Resolver/Resolver.cpp | 2 +- lib/PhasarLLVM/Utils/IOFormat.cpp | 50 ---------- lib/PhasarLLVM/Utils/Scopes.cpp | 25 ----- lib/PhasarLLVM/Utils/SummaryStrategy.cpp | 37 ------- lib/PhasarPass/PhasarPass.cpp | 2 +- tools/example-tool/myphasartool.cpp | 2 +- tools/phasar-llvm/phasar-llvm.cpp | 4 +- .../ControlFlow/LLVMBasedICFGExportTest.cpp | 2 +- .../ControlFlow/LLVMBasedICFGTest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_CHATest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_DTATest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_OTFTest.cpp | 2 +- .../ControlFlow/LLVMBasedICFG_RTATest.cpp | 2 +- 30 files changed, 90 insertions(+), 433 deletions(-) rename include/phasar/{PhasarLLVM/ControlFlow/Resolver => ControlFlow}/CallGraphAnalysisType.def (100%) rename include/phasar/{PhasarLLVM/ControlFlow/Resolver => ControlFlow}/CallGraphAnalysisType.h (92%) delete mode 100644 include/phasar/PhasarLLVM/SimpleProblemConstructor.h delete mode 100644 include/phasar/PhasarLLVM/Utils/IOFormat.def delete mode 100644 include/phasar/PhasarLLVM/Utils/IOFormat.h delete mode 100644 include/phasar/PhasarLLVM/Utils/Scopes.h delete mode 100644 include/phasar/PhasarLLVM/Utils/SummaryStrategy.h rename lib/{PhasarLLVM/ControlFlow/Resolver => ControlFlow}/CallGraphAnalysisType.cpp (84%) delete mode 100644 lib/PhasarLLVM/Utils/IOFormat.cpp delete mode 100644 lib/PhasarLLVM/Utils/Scopes.cpp delete mode 100644 lib/PhasarLLVM/Utils/SummaryStrategy.cpp diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.def b/include/phasar/ControlFlow/CallGraphAnalysisType.def similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.def rename to include/phasar/ControlFlow/CallGraphAnalysisType.def diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h b/include/phasar/ControlFlow/CallGraphAnalysisType.h similarity index 92% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h rename to include/phasar/ControlFlow/CallGraphAnalysisType.h index 99bbda20c..31d6193ce 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h +++ b/include/phasar/ControlFlow/CallGraphAnalysisType.h @@ -18,7 +18,7 @@ namespace psr { enum class CallGraphAnalysisType { #define CALL_GRAPH_ANALYSIS_TYPE(NAME, CMDFLAG, DESC) NAME, -#include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.def" +#include "phasar/ControlFlow/CallGraphAnalysisType.def" Invalid }; diff --git a/include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h b/include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h index 7524e2911..e402ada1c 100644 --- a/include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h +++ b/include/phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h @@ -42,12 +42,6 @@ enum class SolverConfigOptions : uint32_t { struct IFDSIDESolverConfig { IFDSIDESolverConfig() noexcept = default; IFDSIDESolverConfig(SolverConfigOptions Options) noexcept; - ~IFDSIDESolverConfig() = default; - IFDSIDESolverConfig(const IFDSIDESolverConfig &) noexcept = default; - IFDSIDESolverConfig & - operator=(const IFDSIDESolverConfig &) noexcept = default; - IFDSIDESolverConfig(IFDSIDESolverConfig &&) noexcept = default; - IFDSIDESolverConfig &operator=(IFDSIDESolverConfig &&) noexcept = default; [[nodiscard]] bool followReturnsPastSeeds() const; [[nodiscard]] bool autoAddZero() const; diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h index ded077ef7..a377ae9e0 100644 --- a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h +++ b/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h @@ -17,9 +17,9 @@ #ifndef PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDICFG_H_ #define PHASAR_PHASARLLVM_CONTROLFLOW_LLVMBASEDICFG_H_ +#include "phasar/ControlFlow/CallGraphAnalysisType.h" #include "phasar/ControlFlow/ICFGBase.h" #include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h" -#include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" #include "phasar/PhasarLLVM/Utils/LLVMBasedContainerConfig.h" #include "phasar/Utils/MaybeUniquePtr.h" #include "phasar/Utils/Soundness.h" diff --git a/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h index 9e6511597..8106f0da9 100644 --- a/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h +++ b/include/phasar/PhasarLLVM/DataFlow/IfdsIde/LLVMZeroValue.h @@ -34,9 +34,9 @@ namespace psr { */ class LLVMZeroValue : public llvm::GlobalVariable { private: - LLVMZeroValue(llvm::Module &Mod); // NOLINT(modernize-use-equals-delete) + LLVMZeroValue(llvm::Module &Mod); - static constexpr auto LLVMZeroValueInternalName = "zero_value"; + static constexpr llvm::StringLiteral LLVMZeroValueInternalName = "zero_value"; public: LLVMZeroValue(const LLVMZeroValue &Z) = delete; @@ -45,7 +45,7 @@ class LLVMZeroValue : public llvm::GlobalVariable { LLVMZeroValue &operator=(LLVMZeroValue &&Z) = delete; ~LLVMZeroValue() = default; - [[nodiscard]] llvm::StringRef getName() const { + [[nodiscard]] llvm::StringRef getName() const noexcept { return LLVMZeroValueInternalName; } diff --git a/include/phasar/PhasarLLVM/HelperAnalysisConfig.h b/include/phasar/PhasarLLVM/HelperAnalysisConfig.h index cac4a0e07..399b15529 100644 --- a/include/phasar/PhasarLLVM/HelperAnalysisConfig.h +++ b/include/phasar/PhasarLLVM/HelperAnalysisConfig.h @@ -10,7 +10,7 @@ #ifndef PHASAR_PHASARLLVM_ANALYSISSTRATEGY_HELPERANALYSISCONFIG_H #define PHASAR_PHASARLLVM_ANALYSISSTRATEGY_HELPERANALYSISCONFIG_H -#include "phasar/PhasarLLVM/ControlFlow/Resolver/CallGraphAnalysisType.h" +#include "phasar/ControlFlow/CallGraphAnalysisType.h" #include "phasar/Pointer/PointerAnalysisType.h" #include "nlohmann/json.hpp" diff --git a/include/phasar/PhasarLLVM/SimpleProblemConstructor.h b/include/phasar/PhasarLLVM/SimpleProblemConstructor.h deleted file mode 100644 index 856207c82..000000000 --- a/include/phasar/PhasarLLVM/SimpleProblemConstructor.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H -#define PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H - -#include "phasar/PhasarLLVM/HelperAnalyses.h" - -#include - -namespace psr { -class LLVMProjectIRDB; -class LLVMPointsToInfo; -class LLVMBasedICFG; -class LLVMTypeHierarchy; - -namespace detail { -template -struct HelperAnalysesSelector {}; - -template -struct HelperAnalysesSelector>, - ArgTys...> { - ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { - return ProblemTy(HA, std::forward(Args)...); - } -}; - -template -struct HelperAnalysesSelector< - ProblemTy, - std::enable_if_t< - std::is_constructible_v>, - ArgTys...> { - ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { - return ProblemTy(&HA.getProjectIRDB(), std::forward(Args)...); - } -}; - -template -struct HelperAnalysesSelector>, - ArgTys...> { - ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { - return ProblemTy(&HA.getProjectIRDB(), &HA.getPointsToInfo(), - std::forward(Args)...); - } -}; - -template -struct HelperAnalysesSelector< - ProblemTy, - std::enable_if_t>, - ArgTys...> { - ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { - return ProblemTy(&HA.getProjectIRDB(), &HA.getICFG(), &HA.getPointsToInfo(), - std::forward(Args)...); - } -}; - -template -struct HelperAnalysesSelector< - ProblemTy, - std::enable_if_t>, - ArgTys...> { - ProblemTy create(HelperAnalyses &HA, ArgTys... Args) { - return ProblemTy(&HA.getProjectIRDB(), &HA.getTypeHierarchy(), - &HA.getICFG(), &HA.getPointsToInfo(), - std::forward(Args)...); - } -}; - -} // namespace detail - -template -ProblemTy createAnalysisProblem(HelperAnalyses &HA, ArgTys &&...Args) { - return detail::HelperAnalysesSelector::create( - HA, std::forward(Args)...); -} - -} // namespace psr - -#endif // PHASAR_PHASALLVM_SIMPLEPROBLEMCONSTURCTOR_H diff --git a/include/phasar/PhasarLLVM/Utils/IOFormat.def b/include/phasar/PhasarLLVM/Utils/IOFormat.def deleted file mode 100644 index 1c353935a..000000000 --- a/include/phasar/PhasarLLVM/Utils/IOFormat.def +++ /dev/null @@ -1,18 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2020 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -#ifndef IO_FORMAT_TYPES -#define IO_FORMAT_TYPES(NAME, CMDFLAG, TYPE) -#endif - -IO_FORMAT_TYPES("JSON", "json", JSON) -IO_FORMAT_TYPES("SARIF", "sarif", SARIF) -IO_FORMAT_TYPES("None", "none", None) - -#undef IO_FORMAT_TYPES diff --git a/include/phasar/PhasarLLVM/Utils/IOFormat.h b/include/phasar/PhasarLLVM/Utils/IOFormat.h deleted file mode 100644 index 32e8d022b..000000000 --- a/include/phasar/PhasarLLVM/Utils/IOFormat.h +++ /dev/null @@ -1,34 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2020 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -#ifndef PHASAR_PHASARLLVM_UTILS_IOFORMAT_H_ -#define PHASAR_PHASARLLVM_UTILS_IOFORMAT_H_ - -namespace llvm { -class raw_ostream; -} - -#include - -namespace psr { - -enum class IOFormat { -#define IO_FORMAT_TYPES(NAME, CMDFLAG, TYPE) TYPE, -#include "phasar/PhasarLLVM/Utils/IOFormat.def" -}; - -std::string toString(const IOFormat &D); - -IOFormat toIOFormat(const std::string &S); - -llvm::raw_ostream &operator<<(llvm::raw_ostream &Os, const IOFormat &D); - -} // namespace psr - -#endif diff --git a/include/phasar/PhasarLLVM/Utils/Scopes.h b/include/phasar/PhasarLLVM/Utils/Scopes.h deleted file mode 100644 index b43d7e9bf..000000000 --- a/include/phasar/PhasarLLVM/Utils/Scopes.h +++ /dev/null @@ -1,28 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2017 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -#ifndef PHASAR_PHASARLLVM_UTILS_SCOPES_H_ -#define PHASAR_PHASARLLVM_UTILS_SCOPES_H_ - -#include -#include - -namespace llvm { -class raw_ostream; -} // namespace llvm - -namespace psr { - -enum class Scope { function, module, project }; - -llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, Scope S); - -} // namespace psr - -#endif diff --git a/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h b/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h deleted file mode 100644 index f4cb78d0b..000000000 --- a/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2017 Philipp Schubert. - * All rights reserved. This program and the accompanying materials are made - * available under the terms of LICENSE.txt. - * - * Contributors: - * Philipp Schubert and others - *****************************************************************************/ - -#ifndef PHASAR_PHASARLLVM_UTILS_SUMMARYSTRATEGY_H_ -#define PHASAR_PHASARLLVM_UTILS_SUMMARYSTRATEGY_H_ - -#include -#include - -namespace llvm { -class raw_ostream; -} - -namespace psr { - -enum class SummaryGenerationStrategy { - always_all = 0, - powerset, - all_and_none, - all_observed, - always_none -}; - -extern const std::map - SummaryGenerationStrategyToString; - -extern const std::map - StringToSummaryGenerationStrategy; - -llvm::raw_ostream &operator<<(llvm::raw_ostream &Os, - const SummaryGenerationStrategy &S); - -} // namespace psr - -#endif diff --git a/include/phasar/Utils/ByRef.h b/include/phasar/Utils/ByRef.h index 4573956b9..4cd72f550 100644 --- a/include/phasar/Utils/ByRef.h +++ b/include/phasar/Utils/ByRef.h @@ -13,14 +13,16 @@ #include namespace psr { + +template +static constexpr bool CanEfficientlyPassByValue = + sizeof(T) <= 2 * sizeof(void *) && std::is_trivially_copyable_v; + template -using ByConstRef = std::conditional_t, - T, const T &>; +using ByConstRef = + std::conditional_t, T, const T &>; template -using ByMoveRef = std::conditional_t, - T, T &&>; +using ByMoveRef = std::conditional_t, T, T &&>; } // namespace psr diff --git a/include/phasar/Utils/EnumFlags.h b/include/phasar/Utils/EnumFlags.h index c965fefa1..b02c25a34 100644 --- a/include/phasar/Utils/EnumFlags.h +++ b/include/phasar/Utils/EnumFlags.h @@ -14,80 +14,74 @@ namespace psr { -template ::value, T>> -class EnumFlagAutoBool { - T Val; +template >> +struct EnumFlagAutoBool { + T Value; -public: - constexpr EnumFlagAutoBool(T Val) : Val(Val) {} - constexpr operator T() const { return Val; } - constexpr explicit operator bool() const { - return static_cast>(Val) != 0; + constexpr operator T() const noexcept { return Value; } + constexpr explicit operator bool() const noexcept { + return static_cast>(Value) != 0; } }; -template ::value, T>> -constexpr EnumFlagAutoBool operator&(T Lhs, T Rhs) { - return static_cast(static_cast>(Lhs) & - static_cast>(Rhs)); +template >> +constexpr EnumFlagAutoBool operator&(T Lhs, T Rhs) noexcept { + return {static_cast(static_cast>(Lhs) & + static_cast>(Rhs))}; } -template ::value, T>> -constexpr void operator&=(T &Lhs, T Rhs) { - Lhs = static_cast(static_cast>(Lhs) & - static_cast>(Rhs)); +template >> +constexpr void operator&=(T &Lhs, T Rhs) noexcept { + Lhs = Lhs & Rhs; } -template ::value, T>> -constexpr T operator|(T Lhs, T Rhs) { - return static_cast(static_cast>(Lhs) | - static_cast>(Rhs)); +template >> +constexpr T operator|(T Lhs, T Rhs) noexcept { + return static_cast(static_cast>(Lhs) | + static_cast>(Rhs)); } -template ::value, T>> -constexpr void operator|=(T &Lhs, T Rhs) { - Lhs = static_cast(static_cast>(Lhs) | - static_cast>(Rhs)); +template >> +constexpr void operator|=(T &Lhs, T Rhs) noexcept { + Lhs = Lhs | Rhs; } -template ::value, T>> -constexpr T operator^(T Lhs, T Rhs) { - return static_cast(static_cast>(Lhs) ^ - static_cast>(Rhs)); +template >> +constexpr T operator^(T Lhs, T Rhs) noexcept { + return static_cast(static_cast>(Lhs) ^ + static_cast>(Rhs)); } -template ::value, T>> -constexpr void operator^=(T &Lhs, T Rhs) { - Lhs = static_cast(static_cast>(Lhs) ^ - static_cast>(Rhs)); +template >> +constexpr void operator^=(T &Lhs, T Rhs) noexcept { + Lhs = Lhs ^ Rhs; } -template ::value, T>> -constexpr T operator~(T Rhs) { - return static_cast(~static_cast>(Rhs)); +template >> +constexpr T operator~(T Rhs) noexcept { + return static_cast(~static_cast>(Rhs)); } -template ::value, T>> -constexpr void setFlag(T &This, T Flag, bool Set = true) { +template >> +constexpr void setFlag(T &This, T Flag) noexcept { + This |= Flag; +} +template >> +constexpr void unsetFlag(T &This, T Flag) noexcept { + This &= ~Flag; +} +template >> +constexpr void setFlag(T &This, T Flag, bool Set) noexcept { if (Set) { - This |= Flag; + setFlag(This, Flag); } else { - This &= ~Flag; + unsetFlag(This, Flag); } } -template ::value, T>> -constexpr bool hasFlag(T This, T Flag) { - return static_cast(This & Flag); + +template >> +constexpr bool hasFlag(T This, T Flag) noexcept { + return (This & Flag) == Flag; } } // namespace psr diff --git a/include/phasar/Utils/Table.h b/include/phasar/Utils/Table.h index 4141bf23a..6b5511f64 100644 --- a/include/phasar/Utils/Table.h +++ b/include/phasar/Utils/Table.h @@ -17,7 +17,8 @@ #ifndef PHASAR_UTILS_TABLE_H_ #define PHASAR_UTILS_TABLE_H_ -#include +#include "llvm/Support/raw_ostream.h" + #include #include #include diff --git a/include/phasar/Utils/TypeTraits.h b/include/phasar/Utils/TypeTraits.h index df563f6ad..fff9631c2 100644 --- a/include/phasar/Utils/TypeTraits.h +++ b/include/phasar/Utils/TypeTraits.h @@ -15,8 +15,6 @@ #include #include -#include "phasar/DataFlow/IfdsIde/IFDSIDESolverConfig.h" - #include "llvm/Support/raw_ostream.h" namespace psr { @@ -24,12 +22,12 @@ namespace psr { namespace detail { template -struct is_iterable : public std::false_type {}; // NOLINT +struct is_iterable : std::false_type {}; // NOLINT template struct is_iterable().begin()), - decltype(std::declval().end())>> - : public std::true_type {}; + decltype(std::declval().end())>> : std::true_type { +}; template struct is_iterable_over : std::false_type {}; // NOLINT template @@ -40,20 +38,20 @@ struct is_iterable_over< std::is_convertible_v().begin()), U>>> : std::true_type {}; -template struct is_pair : public std::false_type {}; // NOLINT +template struct is_pair : std::false_type {}; // NOLINT template -struct is_pair> : public std::true_type {}; // NOLINT +struct is_pair> : std::true_type {}; // NOLINT -template struct is_tuple : public std::false_type {}; // NOLINT +template struct is_tuple : std::false_type {}; // NOLINT template -struct is_tuple> : public std::true_type {}; // NOLINT +struct is_tuple> : std::true_type {}; // NOLINT template -struct is_printable : public std::false_type {}; // NOLINT +struct is_printable : std::false_type {}; // NOLINT template struct is_printable< // NOLINT T, OS, decltype(std::declval() << std::declval())> - : public std::true_type {}; + : std::true_type {}; template using is_llvm_printable = is_printable; // NOLINT @@ -62,9 +60,9 @@ template using is_std_printable = is_printable; // NOLINT template -struct has_str : public std::false_type {}; // NOLINT +struct has_str : std::false_type {}; // NOLINT template -struct has_str().str())> : public std::true_type { +struct has_str().str())> : std::true_type { }; // NOLINT template @@ -86,13 +84,6 @@ template struct is_llvm_hashable()))> // NOLINT : std::true_type {}; -template -struct has_setIFDSIDESolverConfig : std::false_type {}; -template -struct has_setIFDSIDESolverConfig< - T, decltype(std::declval().setIFDSIDESolverConfig( - std::declval()))> : std::true_type {}; - template