aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAndrzej Warzynski <andrzej.warzynski@arm.com>2022-03-02 15:40:16 +0000
committerAndrzej Warzynski <andrzej.warzynski@arm.com>2022-03-16 10:41:04 +0000
commita7c08bcf777ee0712c140052d0814f55a02dd27b (patch)
tree9fd034840e8f123c0aa06730627f2d9261117fa1 /flang/lib/Frontend/CompilerInvocation.cpp
parent10766b75ceb39d35d9d278bff0aa5be0ab3a680f (diff)
downloadllvm-a7c08bcf777ee0712c140052d0814f55a02dd27b.zip
llvm-a7c08bcf777ee0712c140052d0814f55a02dd27b.tar.gz
llvm-a7c08bcf777ee0712c140052d0814f55a02dd27b.tar.bz2
[flang][driver] Add support for `-mllvm`
This option is added in both `flang-new` (the compiler driver) and `flang-new -fc1` (the frontend driver). The semantics are consistent with `clang` and `clang -cc1`. As Flang does not run any LLVM passes when invoked with `-emit-llvm` (i.e. `flang-new -S -emit-llvm <file>`), the tests use `-S`/`-c`/`-emit-obj` instead. These options require an LLVM backend to be run by the driver to generate the output (this makese `-mllvm` relevant here). Differential Revision: https://reviews.llvm.org/D121374
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--flang/lib/Frontend/CompilerInvocation.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index d1b0d0e..cf92e71 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -584,6 +584,8 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &res,
success &= parseSemaArgs(res, args, diags);
success &= parseDialectArgs(res, args, diags);
success &= parseDiagArgs(res, args, diags);
+ res.frontendOpts_.llvmArgs =
+ args.getAllArgValues(clang::driver::options::OPT_mllvm);
return success;
}