From dae4b060bdb59f7df2a740c343e2eab13b3b5589 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Thu, 20 Oct 2016 18:29:24 +0300 Subject: [PATCH] [HIPIFY] Add missing options to tool's -help Also HelpMessage with a description of the common command-line options related to the compilation database and input files is added. --- hipify-clang/src/Cuda2Hip.cpp | 41 +++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/hipify-clang/src/Cuda2Hip.cpp b/hipify-clang/src/Cuda2Hip.cpp index d2be3c242d..aaf1a38a81 100644 --- a/hipify-clang/src/Cuda2Hip.cpp +++ b/hipify-clang/src/Cuda2Hip.cpp @@ -1985,23 +1985,33 @@ void HipifyPPCallbacks::handleEndSource() { // Set up the command line options static cl::OptionCategory ToolTemplateCategory("CUDA to HIP source translator options"); -static cl::opt OutputFilename("o", cl::desc("Output filename"), - cl::value_desc("filename"), cl::cat(ToolTemplateCategory)); +static cl::opt OutputFilename("o", + cl::desc("Output filename"), + cl::value_desc("filename"), + cl::cat(ToolTemplateCategory)); -static cl::opt - Inplace("inplace", - cl::desc("Modify input file inplace, replacing input with hipified " - "output, save backup in .prehip file. "), - cl::value_desc("inplace")); +static cl::opt Inplace("inplace", + cl::desc("Modify input file inplace, replacing input with hipified " + "output, save backup in .prehip file"), + cl::value_desc("inplace"), + cl::cat(ToolTemplateCategory)); -static cl::opt - NoOutput("no-output", - cl::desc("don't write any translated output to stdout"), - cl::value_desc("no-output")); +static cl::opt NoOutput("no-output", + cl::desc("Don't write any translated output to stdout"), + cl::value_desc("no-output"), + cl::cat(ToolTemplateCategory)); -static cl::opt - PrintStats("print-stats", cl::desc("print the command-line, like a header"), - cl::value_desc("print-stats")); +static cl::opt PrintStats("print-stats", + cl::desc("Print translation statisitics"), + cl::value_desc("print-stats"), + cl::cat(ToolTemplateCategory)); + +static cl::opt N("n", + cl::desc("Combines -no-output and -print-stats options"), + cl::value_desc("n"), + cl::cat(ToolTemplateCategory)); + +static cl::extrahelp CommonHelp(CommonOptionsParser::HelpMessage); void addAllMatchers(ast_matchers::MatchFinder &Finder, Cuda2HipCallback *Callback) { Finder.addMatcher(callExpr(isExpansionInMainFile(), @@ -2086,6 +2096,9 @@ int main(int argc, const char **argv) { CommonOptionsParser OptionsParser(argc, argv, ToolTemplateCategory, llvm::cl::Required); std::vector fileSources = OptionsParser.getSourcePathList(); std::string dst = OutputFilename; + if (N) { + NoOutput = PrintStats = true; + } if (dst.empty()) { dst = fileSources[0]; if (!Inplace) {