[PATCH] D19492: [LVI] Infer local facts from unary expressions

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 25 13:10:17 PDT 2016


reames created this revision.
reames added reviewers: regehr, sanjoy, hfinkel, nicholas.
reames added a subscriber: llvm-commits.
Herald added a subscriber: mcrosier.

As pointed out by John Regehr over in http://reviews.llvm.org/D19485, LVI was being incredibly stupid about applying its transfer rules.  Rather than gathering local facts from the expression itself, it was simply giving up entirely if one of the inputs was overdefined.  This greatly impacts the precision of the overall analysis and makes it far more fragile as well.

This patch implements only the unary operation case.  Once this is in, I'll implement the same for the binary operations.

http://reviews.llvm.org/D19492

Files:
  lib/Analysis/LazyValueInfo.cpp
  test/Transforms/CorrelatedValuePropagation/basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19492.54889.patch
Type: text/x-patch
Size: 3705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160425/dd55cbb4/attachment.bin>


More information about the llvm-commits mailing list