llvm-project/llvm/lib
Than McIntosh 14d61436c0 StackColoring: smarter check for slot overlap
Summary:
The old check for slot overlap treated 2 slots `S` and `T` as
overlapping if there existed a CFG node in which both of the slots could
possibly be active. That is overly conservative and caused stack blowups
in Rust programs. Instead, check whether there is a single CFG node in
which both of the slots are possibly active *together*.

Fixes PR32488.

Patch by Ariel Ben-Yehuda <ariel.byd@gmail.com>

Reviewers: thanm, nagisa, llvm-commits, efriedma, rnk

Reviewed By: thanm

Subscribers: dotdash

Differential Revision: https://reviews.llvm.org/D31583

llvm-svn: 305193
2017-06-12 14:56:02 +00:00
..
Analysis Address http://bugs.llvm.org/pr32207 by making BannerPrinted local to runOnSCC and skipping banner for function declarations. 2017-06-12 02:18:50 +00:00
AsmParser Add dependency from AsmParser to BinaryFormat. 2017-06-07 04:24:33 +00:00
BinaryFormat Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
Bitcode Write summaries for merged modules when splitting modules for ThinLTO. 2017-06-08 23:01:49 +00:00
CodeGen StackColoring: smarter check for slot overlap 2017-06-12 14:56:02 +00:00
DebugInfo dwarfdump: Handle relocs to zlib (.zdebug*) compressed sections 2017-06-10 19:32:50 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
Fuzzer Fix the includes in lib/Fuzzer on Windows that have ordering 2017-06-06 23:28:01 +00:00
IR [LoopVectorize] Don't preserve nsw/nuw flags on shrunken ops. 2017-06-09 03:56:15 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO Object: Factor out the code for creating the irsymtab for an arbitrary bitcode file. 2017-06-08 01:26:14 +00:00
LineEditor
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
MC [MC] Fix compiler crash in AsmParser::Lex 2017-06-09 14:04:03 +00:00
Object Fix a ubsan failure introduced by r305092 2017-06-10 18:07:24 +00:00
ObjectYAML [pdb] Support CoffSymbolRVA debug subsection. 2017-06-09 20:46:52 +00:00
Option Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Passes [EarlyCSE] Add option to use MemorySSA for function simplification run of EarlyCSE (off by default). 2017-06-10 15:20:03 +00:00
ProfileData Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Support bugpoint: disabling symbolication of bugpoint-executed programs 2017-06-09 07:29:03 +00:00
TableGen Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Target [DAG] add helper to bind memop chains; NFCI 2017-06-12 14:41:48 +00:00
ToolDrivers Add dependency from LibDriver to BinaryFormat. 2017-06-07 04:39:50 +00:00
Transforms [InstCombine] lshr (sext iM X to iN), N-M --> zext (ashr X, min(N-M, M-1)) to iN 2017-06-12 14:23:43 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
LLVMBuild.txt Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00