43{
44
45 std::vector<std::string> moduleNameVec;
47 argc, argv, "CFL Reachability Analysis", "[options] <input-bitcode...>"
48 );
49
50
51 SVFIR* svfir =
nullptr;
52
53
55 {
58 svfir = builder.
build();
59 }
60
61
62 std::unique_ptr<CFLBase> cfl;
63
64
66 cfl = std::make_unique<CFLVF>(svfir);
68 cfl = std::make_unique<POCRHybrid>(svfir);
70 cfl = std::make_unique<POCRAlias>(svfir);
71 else
72 cfl = std::make_unique<CFLAlias>(svfir);
73
74
75 cfl->analyze();
76
77
80
81
82 return 0;
83
84}
static std::vector< std::string > parseOptions(int argc, char *argv[], std::string description, std::string callFormat)
static void releaseLLVMModuleSet()
static void buildSVFModule(Module &mod)
static const Option< bool > POCRAlias
static const Option< bool > POCRHybrid
static const Option< bool > CFLSVFG
static const Option< std::string > CFLGraph
virtual SVFIR * build()
Start building SVFIR here.
static void releaseSVFIR()