[PATCH] D39483: [CVP] Remove some {s|u}{add|sub}.with.overflow checks.

Joel Galenson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 31 16:35:37 PDT 2017


jgalenson created this revision.

This adds logic to CVP to remove some overflow checks.  It uses LVI to remove operations with at least one constant.  Specifically, this can remove many overflow intrinsics immediately following an overflow check in the source code, such as:

if (x < INT_MAX)

  ... x + 1 ...


https://reviews.llvm.org/D39483

Files:
  lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  test/Transforms/CorrelatedValuePropagation/overflows.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39483.121082.patch
Type: text/x-patch
Size: 19062 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171031/c09f8ab7/attachment.bin>


More information about the llvm-commits mailing list