[PATCH] D19212: Have isKnownNotFullPoison be smarter around control flow

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 17 20:52:01 PDT 2016


sanjoy created this revision.
sanjoy added reviewers: broune, bjarke.roune.
sanjoy added a subscriber: llvm-commits.
Herald added a subscriber: mcrosier.

(... while still not using a PostDomTree)

The way we use isKnownNotFullPoison from SCEV today, the new CFG walking
logic will not trigger for any realistic cases -- it will kick in only
for situations where we could have merged the contiguous basic blocks
anyway[0], since the poison generating instruction dominates all of its
non-PHI uses (which are the only uses we consider right now).

However, having this change in place will allow a later bugfix to break
fewer llvm-lit tests.

[0]: i.e. cases where block A branches to block B and B is A's only
successor and A is B's only predecessor.

http://reviews.llvm.org/D19212

Files:
  lib/Analysis/ValueTracking.cpp
  test/Analysis/ScalarEvolution/flags-from-poison.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19212.54029.patch
Type: text/x-patch
Size: 4952 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160418/da04dc98/attachment.bin>


More information about the llvm-commits mailing list