diff options
author | Dhruv Chawla <44582521+dc03@users.noreply.github.com> | 2023-09-01 18:07:46 +0530 |
---|---|---|
committer | Dhruv Chawla <44582521+dc03@users.noreply.github.com> | 2023-09-09 11:00:47 +0530 |
commit | e13e808283f7fd9e873ae922dd1ef61aeaa0eb4a (patch) | |
tree | 5b40fd6749a818ff80b2315095efc0f2ab6f8957 /clang/lib/Lex/ModuleMap.cpp | |
parent | f8074942c5a6f266abb1c4d1465a4d8115b22d43 (diff) | |
download | llvm-e13e808283f7fd9e873ae922dd1ef61aeaa0eb4a.zip llvm-e13e808283f7fd9e873ae922dd1ef61aeaa0eb4a.tar.gz llvm-e13e808283f7fd9e873ae922dd1ef61aeaa0eb4a.tar.bz2 |
[SROA] Limit the number of allowed slices when trying to split allocas
This patch adds a hidden CLI option "--sroa-max-alloca-slices", which is
an integer that controls the maximum number of alloca slices SROA can
consider before bailing out. This is useful because it may not be
profitable to split memcpys into (possibly tens of) thousands of loads/stores.
This also prevents an issue with exponential compile time explosion in passes
like DSE and MemCpyOpt caused by excessive alloca splitting.
Fixes https://github.com/rust-lang/rust/issues/88580.
Differential Revision: https://reviews.llvm.org/D159354
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions