aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDavid Truby <david.truby@arm.com>2025-01-16 06:43:32 +0000
committerGitHub <noreply@github.com>2025-01-16 06:43:32 +0000
commit0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563 (patch)
treefad6be286d32be76d5743a2876437d0363773edc /flang/lib/Frontend/CompilerInvocation.cpp
parent1797fb6b233c548817008b9c39c6af06d12cae99 (diff)
downloadllvm-0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563.zip
llvm-0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563.tar.gz
llvm-0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563.tar.bz2
[flang] Add -f[no-]unroll-loops flag (#122906)
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--flang/lib/Frontend/CompilerInvocation.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index 5e71273..15b1e1e 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -246,6 +246,10 @@ static void parseCodeGenArgs(Fortran::frontend::CodeGenOptions &opts,
clang::driver::options::OPT_fno_loop_versioning, false))
opts.LoopVersioning = 1;
+ opts.UnrollLoops = args.hasFlag(clang::driver::options::OPT_funroll_loops,
+ clang::driver::options::OPT_fno_unroll_loops,
+ (opts.OptimizationLevel > 1));
+
opts.AliasAnalysis = opts.OptimizationLevel > 0;
// -mframe-pointer=none/non-leaf/all option.