aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSebastian Pop <spop@nvidia.com>2025-05-21 08:27:39 -0500
committerGitHub <noreply@github.com>2025-05-21 08:27:39 -0500
commitd36028120a6ef6346bfaafe82d4d1a2887cf5e33 (patch)
tree620f4d522a8fbca7e659c1530ddd4a9f6ea42f8d /flang/lib/Frontend/CompilerInvocation.cpp
parent2cf6099cd5fa9876aa4ac160a8cf88a46c79ee55 (diff)
downloadllvm-d36028120a6ef6346bfaafe82d4d1a2887cf5e33.zip
llvm-d36028120a6ef6346bfaafe82d4d1a2887cf5e33.tar.gz
llvm-d36028120a6ef6346bfaafe82d4d1a2887cf5e33.tar.bz2
[flang] add -floop-interchange and enable it with opt levels (#140182)
Enable the use of -floop-interchange from the flang driver. Enable in flang LLVM's loop interchange at levels -O2, -O3, -Ofast, and -Os.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--flang/lib/Frontend/CompilerInvocation.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index b6c3771..ba25318 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -270,6 +270,9 @@ static void parseCodeGenArgs(Fortran::frontend::CodeGenOptions &opts,
clang::driver::options::OPT_fno_stack_arrays, false))
opts.StackArrays = 1;
+ if (args.getLastArg(clang::driver::options::OPT_floop_interchange))
+ opts.InterchangeLoops = 1;
+
if (args.getLastArg(clang::driver::options::OPT_vectorize_loops))
opts.VectorizeLoop = 1;