1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Justin Bogner 7837a2b037 SDAG: Avoid a large, usually empty SmallVector in a recursive function
This SmallVector is using up 128 bytes on the stack every time despite
almost always being empty[1], and since this function can recurse quite
deeply that adds up to a lot of overhead. We've seen this run afoul of
ulimits in some cases with ASAN on.

Replacing the SmallVector with a std::vector trades an occasional heap
allocation for vastly less stack usage.

[1]: I gathered some stats on an internal test suite and the vector
was non-empty in only 45,000 of 10,000,000 calls to this function.

llvm-svn: 288441
2016-12-02 00:11:01 +00:00
..
Analysis Factor out common parts of LVI and Float2Int into ConstantRange [NFCI] 2016-12-01 20:08:47 +00:00
AsmParser [AsmParser] Avoid recursing when lexing ';'. NFC. 2016-11-16 22:25:05 +00:00
Bitcode Bitcode: The index used by ModuleSummaryIndexBitcodeReader is now required, so make it a reference. NFCI. 2016-12-01 06:21:08 +00:00
CodeGen SDAG: Avoid a large, usually empty SmallVector in a recursive function 2016-12-02 00:11:01 +00:00
DebugInfo [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
Demangle Demangle: remove references to allocator for default allocator 2016-11-20 00:20:27 +00:00
ExecutionEngine Fix some Clang-tidy and Include What You Use warnings; other minor fixes (NFC). 2016-11-30 17:48:10 +00:00
Fuzzer [libFuzzer] add a test for r288389 (-rss_limit_mb=0 means no limit). 2016-12-01 18:02:07 +00:00
IR Factor out common parts of LVI and Float2Int into ConstantRange [NFCI] 2016-12-01 20:08:47 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LibDriver
LineEditor
Linker [ThinLTO] Fix crash when importing an opaque type 2016-11-19 18:44:16 +00:00
LTO Object: Extract a ModuleSymbolTable class from IRObjectFile. 2016-12-01 06:51:47 +00:00
MC [MC] Refactor emitELFSize to make usage more consistent. NFC. 2016-12-01 23:39:08 +00:00
Object Remove iostream include from WasmObjectFile 2016-12-01 15:20:34 +00:00
ObjectYAML Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Change the static object whose address is used to uniquely identify 2016-11-23 17:53:26 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Use trigrams to speed up SpecialCaseList. 2016-12-01 02:54:54 +00:00
TableGen TableGen: Add operator !or 2016-11-15 06:49:28 +00:00
Target [AArch64] Fold more spilled/refilled COPYs. 2016-12-01 23:43:55 +00:00
Transforms Revert "[SLP] Fix for PR6246: vectorization for scalar ops on vector elements." 2016-12-01 22:52:15 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00