@@ -1525,23 +1525,27 @@ static bool ParseSILArgs(SILOptions &Opts, ArgList &Args,
15251525 // -enable-copy-propagation implies -enable-lexical-lifetimes unless
15261526 // otherwise specified.
15271527 if (Args.hasArg (OPT_enable_copy_propagation))
1528- Opts.LexicalLifetimes = LexicalLifetimesOption::ExperimentalLate;
1528+ Opts.LexicalLifetimes = LexicalLifetimesOption::On;
1529+
1530+ // -disable-copy-propagation implies -enable-lexical-lifetimes=false
1531+ if (Args.hasArg (OPT_disable_copy_propagation))
1532+ Opts.LexicalLifetimes = LexicalLifetimesOption::DiagnosticMarkersOnly;
15291533
15301534 // If move-only is enabled, always enable lexical lifetime as well. Move-only
15311535 // depends on lexical lifetimes.
15321536 if (Args.hasArg (OPT_enable_experimental_move_only))
1533- Opts.LexicalLifetimes = LexicalLifetimesOption::ExperimentalLate ;
1537+ Opts.LexicalLifetimes = LexicalLifetimesOption::On ;
15341538
15351539 if (enableLexicalLifetimesFlag) {
15361540 if (*enableLexicalLifetimesFlag) {
1537- Opts.LexicalLifetimes = LexicalLifetimesOption::ExperimentalLate ;
1541+ Opts.LexicalLifetimes = LexicalLifetimesOption::On ;
15381542 } else {
1539- Opts.LexicalLifetimes = LexicalLifetimesOption::Early ;
1543+ Opts.LexicalLifetimes = LexicalLifetimesOption::DiagnosticMarkersOnly ;
15401544 }
15411545 }
15421546 if (enableLexicalBorrowScopesFlag) {
15431547 if (*enableLexicalBorrowScopesFlag) {
1544- Opts.LexicalLifetimes = LexicalLifetimesOption::Early ;
1548+ Opts.LexicalLifetimes = LexicalLifetimesOption::DiagnosticMarkersOnly ;
15451549 } else {
15461550 Opts.LexicalLifetimes = LexicalLifetimesOption::Off;
15471551 }
0 commit comments