[PATCH] D11710: [SimplifyCFG] Ignore lifetime intrinsics when looking for empty landing pads

Philip Reames listmail at philipreames.com
Mon Aug 3 17:36:29 PDT 2015


reames added a comment.

The code looks completely correct, but I'm a bit unsure it's the right approach.  In particular, it seems undesirable to loose lifetime information in a particular resume path before inlining.  If we have a lifetime.end along one path, but not another, that's an interesting optimization fact.  After inlining, that could result in further simplification of the caller.  Have you thought about the trade offs here?

It seems like a lifetime end for an alloca in a terminating block adds no information.  Similarly, the liftime.start is redundant.  This patch would be obviously correct if restricted to values derived from allocas, but even there, maybe the removal should be done elsewhere?  In particular, this seems a lot like a DSE problem.  Thoughts?


http://reviews.llvm.org/D11710







More information about the llvm-commits mailing list