HomePhabricator

StackColoring: smarter check for slot overlap

Description

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

Details

Committed
thanmJun 12 2017, 7:56 AM
Reviewer
thanm
Differential Revision
D31583: StackColoring: smarter check for slot overlap
Parents
rL305192: [DAG] add helper to bind memop chains; NFCI
Branches
Unknown
Tags
Unknown