[PATCH] [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP.

Sanjoy Das sanjoy at playingwithpointers.com
Tue Apr 7 23:36:42 PDT 2015


Address Andy's review:

- do the transform only if the call to `uadd.with.overflow` can be inserted in the same basic block as the compare.  This prevents us from moving flag-producing instructions.
- try sinking an icmp before trying to combine it.
- add test cases that exercise both of the above.


http://reviews.llvm.org/D8889

Files:
  include/llvm/IR/PatternMatch.h
  lib/CodeGen/CodeGenPrepare.cpp
  lib/Transforms/InstCombine/InstCombineCompares.cpp
  test/CodeGen/X86/add-of-carry.ll
  test/Transforms/CodeGenPrepare/overflow-intrinsics.ll
  test/Transforms/InstCombine/overflow.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8889.23401.patch
Type: text/x-patch
Size: 13185 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150408/a1e70bcd/attachment.bin>


More information about the llvm-commits mailing list