Skip to content

Commit 0dd8974

Browse files
committed
Add a flag to disable type layout based lowering
1 parent b7a58c0 commit 0dd8974

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

include/swift/Option/FrontendOptions.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,4 +677,8 @@ def previous_module_installname_map_file
677677

678678
def enable_type_layouts : Flag<["-"], "enable-type-layout">,
679679
HelpText<"Enable type layout based lowering">;
680+
681+
def disable_type_layouts : Flag<["-"], "disable-type-layout">,
682+
HelpText<"Disable type layout based lowering">;
683+
680684
} // end let Flags = [FrontendOption, NoDriverOption, HelpHidden]

lib/Frontend/CompilerInvocation.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1264,7 +1264,11 @@ static bool ParseIRGenArgs(IRGenOptions &Opts, ArgList &Args,
12641264
Opts.EnableDynamicReplacementChaining |=
12651265
Args.hasArg(OPT_enable_dynamic_replacement_chaining);
12661266

1267-
Opts.UseTypeLayoutValueHandling |= Args.hasArg(OPT_enable_type_layouts);
1267+
if (auto A = Args.getLastArg(OPT_enable_type_layouts,
1268+
OPT_disable_type_layouts)) {
1269+
Opts.UseTypeLayoutValueHandling
1270+
= A->getOption().matches(OPT_enable_type_layouts);
1271+
}
12681272

12691273
Opts.UseSwiftCall = Args.hasArg(OPT_enable_swiftcall);
12701274

0 commit comments

Comments
 (0)