summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/HIP.cpp
diff options
context:
space:
mode:
authorAaron Enye Shi <enye.shi@gmail.com>2019-03-15 17:31:51 +0000
committerAaron Enye Shi <enye.shi@gmail.com>2019-03-15 17:31:51 +0000
commit04fddc9b27f1c86f24f2dbf9a4de0964ace4380b (patch)
treee62a20bbe1a109994b8d036dd18dd33cad04f7d8 /clang/lib/Driver/ToolChains/HIP.cpp
parente3d3e862de0bbebced79a81d8409a0c1c6c1a8f6 (diff)
downloadbcm5719-llvm-04fddc9b27f1c86f24f2dbf9a4de0964ace4380b.tar.gz
bcm5719-llvm-04fddc9b27f1c86f24f2dbf9a4de0964ace4380b.zip
[HIP-Clang] propagate -mllvm options to opt and llc
Change the HIP Toolchain to pass the OPT_mllvm options into OPT and LLC stages. Added a lit test to verify the command args. Reviewers: yaxunl Differential Revision: https://reviews.llvm.org/D59316 llvm-svn: 356277
Diffstat (limited to 'clang/lib/Driver/ToolChains/HIP.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/HIP.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/HIP.cpp b/clang/lib/Driver/ToolChains/HIP.cpp
index 10be27c354e..fb3626d9be6 100644
--- a/clang/lib/Driver/ToolChains/HIP.cpp
+++ b/clang/lib/Driver/ToolChains/HIP.cpp
@@ -140,6 +140,11 @@ const char *AMDGCN::Linker::constructOptCommand(
}
OptArgs.push_back("-mtriple=amdgcn-amd-amdhsa");
OptArgs.push_back(Args.MakeArgString("-mcpu=" + SubArchName));
+
+ for (const Arg *A : Args.filtered(options::OPT_mllvm)) {
+ OptArgs.push_back(A->getValue(0));
+ }
+
OptArgs.push_back("-o");
std::string TmpFileName = C.getDriver().GetTemporaryPath(
OutputFilePrefix.str() + "-optimized", "bc");
@@ -177,6 +182,10 @@ const char *AMDGCN::Linker::constructLlcCommand(
if(!Features.empty())
LlcArgs.push_back(Args.MakeArgString(MAttrString));
+ for (const Arg *A : Args.filtered(options::OPT_mllvm)) {
+ LlcArgs.push_back(A->getValue(0));
+ }
+
// Add output filename
LlcArgs.push_back("-o");
std::string LlcOutputFileName =
OpenPOWER on IntegriCloud