Skip to content

Commit 32aa4d9

Browse files
sil-opt: Add flag to disable aggressive reg2mem mode
1 parent 3e0ea3a commit 32aa4d9

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

lib/DriverTool/sil_opt_main.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,11 @@ struct SILOptOptions {
593593
"enable-address-dependencies",
594594
llvm::cl::desc("Enable enforcement of lifetime dependencies on addressable values."));
595595

596+
llvm::cl::opt<bool> DisaleAggressiveReg2Mem = llvm::cl::opt<bool>(
597+
"disable-aggressive-reg2mem",
598+
llvm::cl::desc("Disable aggressive reg2mem optimizations."),
599+
llvm::cl::init(false));
600+
596601
llvm::cl::opt<bool> EnableCalleeAllocatedCoroAbi = llvm::cl::opt<bool>(
597602
"enable-callee-allocated-coro-abi",
598603
llvm::cl::desc("Override per-platform settings and use yield_once_2."),
@@ -921,6 +926,8 @@ int sil_opt_main(ArrayRef<const char *> argv, void *MainAddr) {
921926
options.EnablePackMetadataStackPromotion;
922927

923928
SILOpts.EnableAddressDependencies = options.EnableAddressDependencies;
929+
if (options.DisaleAggressiveReg2Mem)
930+
SILOpts.UseAggressiveReg2MemForCodeSize = false;
924931
if (options.EnableCalleeAllocatedCoroAbi)
925932
SILOpts.CoroutineAccessorsUseYieldOnce2 = true;
926933
if (options.DisableCalleeAllocatedCoroAbi)

0 commit comments

Comments
 (0)