diff options
author | Slava Zakharin <szakharin@nvidia.com> | 2025-04-03 10:43:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-03 10:43:28 -0700 |
commit | 3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff (patch) | |
tree | d341f046f7a1c4d075937e43f120c2b742e1fd39 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3e59ff27e5d4506086dfe02ec600adf0baa9543e (diff) | |
download | llvm-3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff.zip llvm-3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff.tar.gz llvm-3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff.tar.bz2 |
[flang] Added driver options for arrays repacking. (#134002)
Added options:
* -f[no-]repack-arrays
* -f[no-]stack-repack-arrays
* -frepack-arrays-contiguity=whole/innermost
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 466d939..6f87a18 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -1476,6 +1476,19 @@ bool CompilerInvocation::createFromArgs( clang::driver::options::OPT_fno_realloc_lhs, true)) invoc.loweringOpts.setReallocateLHS(false); + invoc.loweringOpts.setRepackArrays( + args.hasFlag(clang::driver::options::OPT_frepack_arrays, + clang::driver::options::OPT_fno_repack_arrays, + /*default=*/false)); + invoc.loweringOpts.setStackRepackArrays( + args.hasFlag(clang::driver::options::OPT_fstack_repack_arrays, + clang::driver::options::OPT_fno_stack_repack_arrays, + /*default=*/false)); + if (auto *arg = args.getLastArg( + clang::driver::options::OPT_frepack_arrays_contiguity_EQ)) + invoc.loweringOpts.setRepackArraysWhole(arg->getValue() == + llvm::StringRef{"whole"}); + success &= parseFrontendArgs(invoc.getFrontendOpts(), args, diags); parseTargetArgs(invoc.getTargetOpts(), args); parsePreprocessorArgs(invoc.getPreprocessorOpts(), args); |