diff options
author | Kiran Chandramohan <kiran.chandramohan@arm.com> | 2025-01-15 15:06:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-15 15:06:57 +0000 |
commit | c593e3d0f77509ce65a6f5bd744f2d1ea9935c47 (patch) | |
tree | f528677face78d972c043617d3e47090757e6c91 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | e9504c52edd796a22a879b381f17bd8ed235bfd4 (diff) | |
download | llvm-c593e3d0f77509ce65a6f5bd744f2d1ea9935c47.zip llvm-c593e3d0f77509ce65a6f5bd744f2d1ea9935c47.tar.gz llvm-c593e3d0f77509ce65a6f5bd744f2d1ea9935c47.tar.bz2 |
[Flang][Driver] Add a flag to control zero initialization of global v… (#122144)
…ariables
Patch adds a flag to control zero initialization of global variables
without default initialization. The default is to zero initialize.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 5e71273..78d1199 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -1373,6 +1373,14 @@ bool CompilerInvocation::createFromArgs( invoc.loweringOpts.setNoPPCNativeVecElemOrder(true); } + // -f[no-]init-global-zero + if (args.hasFlag(clang::driver::options::OPT_finit_global_zero, + clang::driver::options::OPT_fno_init_global_zero, + /*default=*/true)) + invoc.loweringOpts.setInitGlobalZero(true); + else + invoc.loweringOpts.setInitGlobalZero(false); + // Preserve all the remark options requested, i.e. -Rpass, -Rpass-missed or // -Rpass-analysis. This will be used later when processing and outputting the // remarks generated by LLVM in ExecuteCompilerInvocation.cpp. |