diff options
author | Aaron Enye Shi <enye.shi@gmail.com> | 2019-03-15 17:31:51 +0000 |
---|---|---|
committer | Aaron Enye Shi <enye.shi@gmail.com> | 2019-03-15 17:31:51 +0000 |
commit | 04fddc9b27f1c86f24f2dbf9a4de0964ace4380b (patch) | |
tree | e62a20bbe1a109994b8d036dd18dd33cad04f7d8 /clang/lib/Driver/ToolChains/HIP.cpp | |
parent | e3d3e862de0bbebced79a81d8409a0c1c6c1a8f6 (diff) | |
download | bcm5719-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.cpp | 9 |
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 = |