HomePhabricator

[DSE] Eliminate stores at the end of the function.

Authored by fhahn on Jun 24 2020, 1:56 AM.

Description

[DSE] Eliminate stores at the end of the function.

This patch add support for eliminating MemoryDefs that do not have any
aliasing users, which indicates that there are no reads/writes to the
memory location until the end of the function.

To eliminate such defs, we have to ensure that the underlying object is
not visible in the caller and does not escape via returning. We need a
separate check for that, as InvisibleToCaller does not consider returns.

Reviewers: dmgreen, rnk, efriedma, bryant, asbirlea, Tyker, george.burgess.iv

Reviewed By: asbirlea

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

Details

Committed
fhahnJun 24 2020, 4:58 AM
Reviewer
asbirlea
Differential Revision
D72631: [DSE] Eliminate stores at the end of the function.
Parents
rG0f426935bb5f: [OpenMPOpt] ICV macro definitions
Branches
Unknown
Tags
Unknown