42 int main(
int argc,
char ** argv)
45 std::vector<std::string> moduleNameVec;
47 argc, argv,
"CFL Reachability Analysis",
"[options] <input-bitcode...>"
51 if (Options::WriteAnder() ==
"ir_annotator")
53 LLVMModuleSet::preProcessBCs(moduleNameVec);
57 SVFIR* svfir =
nullptr;
60 if (Options::CFLGraph().empty())
62 SVFModule* svfModule = LLVMModuleSet::buildSVFModule(moduleNameVec);
64 svfir = builder.
build();
68 std::unique_ptr<CFLBase> cfl;
71 if (Options::CFLSVFG())
72 cfl = std::make_unique<CFLVF>(svfir);
73 else if (Options::POCRHybrid())
74 cfl = std::make_unique<POCRHybrid>(svfir);
75 else if (Options::POCRAlias())
76 cfl = std::make_unique<POCRAlias>(svfir);
78 cfl = std::make_unique<CFLAlias>(svfir);
84 SVFIR::releaseSVFIR();
int main(int argc, char **argv)
static std::vector< std::string > parseOptions(int argc, char *argv[], std::string description, std::string callFormat)
static void releaseLLVMModuleSet()
virtual SVFIR * build()
Start building SVFIR here.