Skip to content

Commit 8a229f5

Browse files
Revert "Revert "Revert "[Flang][Driver] Add a flag to control zero initializa…" (#123330)
Reverts #123097 Reverting due to buildbot failure https://lab.llvm.org/buildbot/#/builders/89/builds/14577.
1 parent ce3280a commit 8a229f5

File tree

9 files changed

+3
-82
lines changed

9 files changed

+3
-82
lines changed

clang/include/clang/Driver/Options.td

-5
Original file line numberDiff line numberDiff line change
@@ -3505,11 +3505,6 @@ def fno_struct_path_tbaa : Flag<["-"], "fno-struct-path-tbaa">, Group<f_Group>;
35053505
def fno_strict_enums : Flag<["-"], "fno-strict-enums">, Group<f_Group>;
35063506
def fno_strict_overflow : Flag<["-"], "fno-strict-overflow">, Group<f_Group>,
35073507
Visibility<[ClangOption, FlangOption]>;
3508-
defm init_global_zero : BoolOptionWithoutMarshalling<"f", "init-global-zero",
3509-
PosFlag<SetTrue, [], [FlangOption, FC1Option],
3510-
"Zero initialize globals without default initialization (default)">,
3511-
NegFlag<SetFalse, [], [FlangOption, FC1Option],
3512-
"Do not zero initialize globals without default initialization">>;
35133508
def fno_pointer_tbaa : Flag<["-"], "fno-pointer-tbaa">, Group<f_Group>;
35143509
def fno_temp_file : Flag<["-"], "fno-temp-file">, Group<f_Group>,
35153510
Visibility<[ClangOption, CC1Option, CLOption, DXCOption]>, HelpText<

clang/lib/Driver/ToolChains/Flang.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,8 @@ void Flang::addCodegenOptions(const ArgList &Args,
155155
options::OPT_flang_deprecated_no_hlfir,
156156
options::OPT_fno_ppc_native_vec_elem_order,
157157
options::OPT_fppc_native_vec_elem_order,
158-
options::OPT_finit_global_zero,
159-
options::OPT_fno_init_global_zero, options::OPT_ftime_report,
160-
options::OPT_ftime_report_EQ, options::OPT_funroll_loops,
161-
options::OPT_fno_unroll_loops});
158+
options::OPT_ftime_report, options::OPT_ftime_report_EQ,
159+
options::OPT_funroll_loops, options::OPT_fno_unroll_loops});
162160
}
163161

164162
void Flang::addPicOptions(const ArgList &Args, ArgStringList &CmdArgs) const {

flang/include/flang/Lower/LoweringOptions.def

-3
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,5 @@ ENUM_LOWERINGOPT(IntegerWrapAround, unsigned, 1, 0)
4444
/// If false, assume that the shapes/types/allocation-status match.
4545
ENUM_LOWERINGOPT(ReallocateLHS, unsigned, 1, 1)
4646

47-
/// If true, initialize globals without initialization to zero.
48-
/// On by default.
49-
ENUM_LOWERINGOPT(InitGlobalZero, unsigned, 1, 1)
5047
#undef LOWERINGOPT
5148
#undef ENUM_LOWERINGOPT

flang/lib/Frontend/CompilerInvocation.cpp

-8
Original file line numberDiff line numberDiff line change
@@ -1377,14 +1377,6 @@ bool CompilerInvocation::createFromArgs(
13771377
invoc.loweringOpts.setNoPPCNativeVecElemOrder(true);
13781378
}
13791379

1380-
// -f[no-]init-global-zero
1381-
if (args.hasFlag(clang::driver::options::OPT_finit_global_zero,
1382-
clang::driver::options::OPT_fno_init_global_zero,
1383-
/*default=*/true))
1384-
invoc.loweringOpts.setInitGlobalZero(true);
1385-
else
1386-
invoc.loweringOpts.setInitGlobalZero(false);
1387-
13881380
// Preserve all the remark options requested, i.e. -Rpass, -Rpass-missed or
13891381
// -Rpass-analysis. This will be used later when processing and outputting the
13901382
// remarks generated by LLVM in ExecuteCompilerInvocation.cpp.

flang/lib/Lower/ConvertVariable.cpp

+1-5
Original file line numberDiff line numberDiff line change
@@ -635,11 +635,7 @@ static fir::GlobalOp defineGlobal(Fortran::lower::AbstractConverter &converter,
635635
global.setLinkName(builder.createCommonLinkage());
636636
Fortran::lower::createGlobalInitialization(
637637
builder, global, [&](fir::FirOpBuilder &builder) {
638-
mlir::Value initValue;
639-
if (converter.getLoweringOptions().getInitGlobalZero())
640-
initValue = builder.create<fir::ZeroOp>(loc, symTy);
641-
else
642-
initValue = builder.create<fir::UndefOp>(loc, symTy);
638+
mlir::Value initValue = builder.create<fir::ZeroOp>(loc, symTy);
643639
builder.create<fir::HasValueOp>(loc, initValue);
644640
});
645641
}

flang/test/Driver/fno-zero-init.f90

-9
This file was deleted.

flang/test/Lower/zero_init.f90

-20
This file was deleted.

flang/test/Lower/zero_init_default_init.f90

-22
This file was deleted.

flang/tools/bbc/bbc.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -234,11 +234,6 @@ static llvm::cl::opt<bool> integerWrapAround(
234234
llvm::cl::desc("Treat signed integer overflow as two's complement"),
235235
llvm::cl::init(false));
236236

237-
static llvm::cl::opt<bool> initGlobalZero(
238-
"finit-global-zero",
239-
llvm::cl::desc("Zero initialize globals without default initialization"),
240-
llvm::cl::init(true));
241-
242237
static llvm::cl::opt<bool>
243238
reallocateLHS("frealloc-lhs",
244239
llvm::cl::desc("Follow Fortran 2003 rules for (re)allocating "
@@ -386,7 +381,6 @@ static llvm::LogicalResult convertFortranSourceToMLIR(
386381
loweringOptions.setNoPPCNativeVecElemOrder(enableNoPPCNativeVecElemOrder);
387382
loweringOptions.setLowerToHighLevelFIR(useHLFIR || emitHLFIR);
388383
loweringOptions.setIntegerWrapAround(integerWrapAround);
389-
loweringOptions.setInitGlobalZero(initGlobalZero);
390384
loweringOptions.setReallocateLHS(reallocateLHS);
391385
std::vector<Fortran::lower::EnvironmentDefault> envDefaults = {};
392386
Fortran::frontend::TargetOptions targetOpts;

0 commit comments

Comments
 (0)