Disable lexical-lifetimes with copy-propagation.

If -disable-copy-propagation is passed, just emit lexical diagnostic
markers but do not enable lexical lifetimes.
This commit is contained in:
Nate Chandler
2021-12-10 17:49:51 -08:00
parent 1464c1b1ff
commit 08a3d3c367
2 changed files with 6 additions and 0 deletions

View File

@@ -1519,6 +1519,10 @@ static bool ParseSILArgs(SILOptions &Opts, ArgList &Args,
if (Args.hasArg(OPT_enable_copy_propagation))
Opts.LexicalLifetimes = LexicalLifetimesOption::On;
// -disable-copy-propagation implies -enable-lexical-lifetimes=false
if (Args.hasArg(OPT_disable_copy_propagation))
Opts.LexicalLifetimes = LexicalLifetimesOption::DiagnosticMarkersOnly;
// If move-only is enabled, always enable lexical lifetime as well. Move-only
// depends on lexical lifetimes.
if (Args.hasArg(OPT_enable_experimental_move_only))