From a7edb7fb157ed820c683ff1b4be11d2a73f815ba Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Thu, 3 Oct 2019 16:30:48 +0300 Subject: [PATCH] [HIPIFY][perl] Start to generate hipify-perl under an option -perl + Get rid of --o-perl-map option for Perl output filename: the output name now is always hipify-perl + Option --o-perl-map-dir renamed to --o-hipify-perl-dir Cmd example for generating hipify-perl script to the particular directory: hipify-clang -perl --o-hipify-perl-dir=../../bin [ROCm/hip commit: b3cf982ee7a12e3050f9ae93c42f8c1a3d340124] --- projects/hip/hipify-clang/src/ArgParse.cpp | 9 ++------- projects/hip/hipify-clang/src/ArgParse.h | 3 +-- projects/hip/hipify-clang/src/CUDA2HIP_Perl.cpp | 17 ++++++++--------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/projects/hip/hipify-clang/src/ArgParse.cpp b/projects/hip/hipify-clang/src/ArgParse.cpp index 751de0d028..5ce92dfdca 100644 --- a/projects/hip/hipify-clang/src/ArgParse.cpp +++ b/projects/hip/hipify-clang/src/ArgParse.cpp @@ -44,13 +44,8 @@ cl::opt GeneratePython("python", cl::value_desc("python"), cl::cat(ToolTemplateCategory)); -cl::opt OutputPerlMapFilename("o-perl-map", - cl::desc("Output filename for Perl map"), - cl::value_desc("filename"), - cl::cat(ToolTemplateCategory)); - -cl::opt OutputPerlMapDir("o-perl-map-dir", - cl::desc("Output direcory for Perl map"), +cl::opt OutputHipifyPerlDir("o-hipify-perl-dir", + cl::desc("Output direcory for hipify-perl script"), cl::value_desc("directory"), cl::cat(ToolTemplateCategory)); diff --git a/projects/hip/hipify-clang/src/ArgParse.h b/projects/hip/hipify-clang/src/ArgParse.h index 64fb2e9678..886a658d78 100644 --- a/projects/hip/hipify-clang/src/ArgParse.h +++ b/projects/hip/hipify-clang/src/ArgParse.h @@ -30,8 +30,7 @@ namespace ct = clang::tooling; extern cl::OptionCategory ToolTemplateCategory; extern cl::opt OutputFilename; -extern cl::opt OutputPerlMapFilename; -extern cl::opt OutputPerlMapDir; +extern cl::opt OutputHipifyPerlDir; extern cl::opt OutputPythonMapDir; extern cl::opt OutputDir; extern cl::opt TemporaryDir; diff --git a/projects/hip/hipify-clang/src/CUDA2HIP_Perl.cpp b/projects/hip/hipify-clang/src/CUDA2HIP_Perl.cpp index 675826824a..f74d196cac 100644 --- a/projects/hip/hipify-clang/src/CUDA2HIP_Perl.cpp +++ b/projects/hip/hipify-clang/src/CUDA2HIP_Perl.cpp @@ -327,17 +327,16 @@ namespace perl { bool generate(bool Generate) { if (!Generate) return true; - std::string dstPerlMap = OutputPerlMapFilename, dstPerlMapDir = OutputPerlMapDir; - if (dstPerlMap.empty()) dstPerlMap = "hipify-perl-map"; + std::string dstHipifyPerl = "hipify-perl", dstHipifyPerlDir = OutputHipifyPerlDir; std::error_code EC; - if (!dstPerlMapDir.empty()) { - std::string sOutputPerlMapDirAbsPath = getAbsoluteDirectoryPath(OutputPerlMapDir, EC, "output hipify-perl map"); + if (!dstHipifyPerlDir.empty()) { + std::string sOutputHipifyPerlDirAbsPath = getAbsoluteDirectoryPath(OutputHipifyPerlDir, EC, "output hipify-perl"); if (EC) return false; - dstPerlMap = sOutputPerlMapDirAbsPath + "/" + dstPerlMap; + dstHipifyPerl = sOutputHipifyPerlDirAbsPath + "/" + dstHipifyPerl; } SmallString<128> tmpFile; - StringRef ext = "hipify-tmp"; - EC = sys::fs::createTemporaryFile(dstPerlMap, ext, tmpFile); + StringRef ext = "hipify-perl-tmp"; + EC = sys::fs::createTemporaryFile(dstHipifyPerl, ext, tmpFile); if (EC) { llvm::errs() << "\n" << sHipify << sError << EC.message() << ": " << tmpFile << "\n"; return false; @@ -490,9 +489,9 @@ namespace perl { *streamPtr.get() << tab << "}" << std::endl << "}" << std::endl; streamPtr.get()->flush(); bool ret = true; - EC = sys::fs::copy_file(tmpFile, dstPerlMap); + EC = sys::fs::copy_file(tmpFile, dstHipifyPerl); if (EC) { - llvm::errs() << "\n" << sHipify << sError << EC.message() << ": while copying " << tmpFile << " to " << dstPerlMap << "\n"; + llvm::errs() << "\n" << sHipify << sError << EC.message() << ": while copying " << tmpFile << " to " << dstHipifyPerl << "\n"; ret = false; } if (!SaveTemps) sys::fs::remove(tmpFile);