diff --git a/include/dg/llvm/PointerAnalysis/SVFPointerAnalysis.h b/include/dg/llvm/PointerAnalysis/SVFPointerAnalysis.h index 3f0e091ed..89a2f66aa 100644 --- a/include/dg/llvm/PointerAnalysis/SVFPointerAnalysis.h +++ b/include/dg/llvm/PointerAnalysis/SVFPointerAnalysis.h @@ -16,6 +16,7 @@ #include "WPA/Andersen.h" // Andersen analysis from SVF #include "SVF-FE/LLVMModule.h" // LLVMModuleSet +#include "SVF-FE/PAGBuilder.h" // PAGBuilder #if (__clang__) #pragma clang diagnostic push @@ -186,8 +187,12 @@ class SVFPointerAnalysis : public LLVMPointerAnalysis { auto moduleset = LLVMModuleSet::getLLVMModuleSet(); _svfModule = moduleset->buildSVFModule(*const_cast(_module)); - _pta.reset(new Andersen()); - _pta->analyze(_svfModule); + + PAGBuilder builder; + PAG* pag = builder.build(_svfModule); + + _pta.reset(new Andersen(pag)); + _pta->analyze(); DBG_SECTION_END(pta, "Done running SVF pointer analysis (Andersen)"); return true;