diff options
author | Andrzej Warzynski <andrzej.warzynski@arm.com> | 2022-03-02 15:40:16 +0000 |
---|---|---|
committer | Andrzej Warzynski <andrzej.warzynski@arm.com> | 2022-03-16 10:41:04 +0000 |
commit | a7c08bcf777ee0712c140052d0814f55a02dd27b (patch) | |
tree | 9fd034840e8f123c0aa06730627f2d9261117fa1 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 10766b75ceb39d35d9d278bff0aa5be0ab3a680f (diff) | |
download | llvm-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.cpp | 2 |
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; } |