mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
sil-opt: Add flag to disable aggressive reg2mem mode
This commit is contained in:
@@ -593,6 +593,11 @@ struct SILOptOptions {
|
|||||||
"enable-address-dependencies",
|
"enable-address-dependencies",
|
||||||
llvm::cl::desc("Enable enforcement of lifetime dependencies on addressable values."));
|
llvm::cl::desc("Enable enforcement of lifetime dependencies on addressable values."));
|
||||||
|
|
||||||
|
llvm::cl::opt<bool> DisaleAggressiveReg2Mem = llvm::cl::opt<bool>(
|
||||||
|
"disable-aggressive-reg2mem",
|
||||||
|
llvm::cl::desc("Disable aggressive reg2mem optimizations."),
|
||||||
|
llvm::cl::init(false));
|
||||||
|
|
||||||
llvm::cl::opt<bool> EnableCalleeAllocatedCoroAbi = llvm::cl::opt<bool>(
|
llvm::cl::opt<bool> EnableCalleeAllocatedCoroAbi = llvm::cl::opt<bool>(
|
||||||
"enable-callee-allocated-coro-abi",
|
"enable-callee-allocated-coro-abi",
|
||||||
llvm::cl::desc("Override per-platform settings and use yield_once_2."),
|
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) {
|
|||||||
options.EnablePackMetadataStackPromotion;
|
options.EnablePackMetadataStackPromotion;
|
||||||
|
|
||||||
SILOpts.EnableAddressDependencies = options.EnableAddressDependencies;
|
SILOpts.EnableAddressDependencies = options.EnableAddressDependencies;
|
||||||
|
if (options.DisaleAggressiveReg2Mem)
|
||||||
|
SILOpts.UseAggressiveReg2MemForCodeSize = false;
|
||||||
if (options.EnableCalleeAllocatedCoroAbi)
|
if (options.EnableCalleeAllocatedCoroAbi)
|
||||||
SILOpts.CoroutineAccessorsUseYieldOnce2 = true;
|
SILOpts.CoroutineAccessorsUseYieldOnce2 = true;
|
||||||
if (options.DisableCalleeAllocatedCoroAbi)
|
if (options.DisableCalleeAllocatedCoroAbi)
|
||||||
|
|||||||
Reference in New Issue
Block a user