[HIPIFY] Introduce --cuda-gpu-arch as hipify-clang's option
+ Pass it to clang if specified
[ROCm/hip commit: 02589264a0]
This commit is contained in:
@@ -138,4 +138,12 @@ cl::opt<bool> SkipExcludedPPConditionalBlocks("skip-excluded-preprocessor-condit
|
|||||||
cl::value_desc("skip-excluded-preprocessor-conditional-blocks"),
|
cl::value_desc("skip-excluded-preprocessor-conditional-blocks"),
|
||||||
cl::cat(ToolTemplateCategory));
|
cl::cat(ToolTemplateCategory));
|
||||||
|
|
||||||
|
cl::opt<std::string> CudaGpuArch("cuda-gpu-arch",
|
||||||
|
cl::desc("CUDA GPU architecture (e.g. sm_35);\nmay be specified more than once"),
|
||||||
|
cl::value_desc("value"),
|
||||||
|
cl::ZeroOrMore,
|
||||||
|
cl::Prefix,
|
||||||
|
cl::cat(ToolTemplateCategory));
|
||||||
|
|
||||||
|
|
||||||
cl::extrahelp CommonHelp(ct::CommonOptionsParser::HelpMessage);
|
cl::extrahelp CommonHelp(ct::CommonOptionsParser::HelpMessage);
|
||||||
|
|||||||
@@ -52,3 +52,4 @@ extern cl::extrahelp CommonHelp;
|
|||||||
extern cl::opt<bool> TranslateToRoc;
|
extern cl::opt<bool> TranslateToRoc;
|
||||||
extern cl::opt<bool> DashDash;
|
extern cl::opt<bool> DashDash;
|
||||||
extern cl::opt<bool> SkipExcludedPPConditionalBlocks;
|
extern cl::opt<bool> SkipExcludedPPConditionalBlocks;
|
||||||
|
extern cl::opt<std::string> CudaGpuArch;
|
||||||
|
|||||||
@@ -225,6 +225,10 @@ int main(int argc, const char **argv) {
|
|||||||
if (llcompat::pragma_once_outside_header()) {
|
if (llcompat::pragma_once_outside_header()) {
|
||||||
Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-Wno-pragma-once-outside-header", ct::ArgumentInsertPosition::BEGIN));
|
Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-Wno-pragma-once-outside-header", ct::ArgumentInsertPosition::BEGIN));
|
||||||
}
|
}
|
||||||
|
if (!CudaGpuArch.empty()) {
|
||||||
|
std::string sCudaGpuArch = "--cuda-gpu-arch=" + CudaGpuArch;
|
||||||
|
Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster(sCudaGpuArch.c_str(), ct::ArgumentInsertPosition::BEGIN));
|
||||||
|
}
|
||||||
if (!MacroNames.empty()) {
|
if (!MacroNames.empty()) {
|
||||||
for (std::string s : MacroNames) {
|
for (std::string s : MacroNames) {
|
||||||
Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-D", ct::ArgumentInsertPosition::END));
|
Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-D", ct::ArgumentInsertPosition::END));
|
||||||
|
|||||||
Reference in New Issue
Block a user