[PATCH] D56214: AggressiveInstCombine: Fold full mul i64 x i64 -> i128

Paweł Bylica via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 7 10:43:44 PST 2019


chfast updated this revision to Diff 185816.
chfast added a comment.

Another round of changes.

I fixed some small defects and added more tests.

I'm also checking the number of uses of different intermediate values. However, this check is not perfect. This is the best I could get in the current design of the pass. The main problem is that I try to match 2 different patterns: mullo (actually has 2 variants) and umulhi. Depending if the go together, the uses count differs. Let me know what you think about the current code.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56214/new/

https://reviews.llvm.org/D56214

Files:
  lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
  test/Transforms/AggressiveInstCombine/mul_full_32.ll
  test/Transforms/AggressiveInstCombine/mul_full_64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56214.185816.patch
Type: text/x-patch
Size: 35843 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190207/08ce47d0/attachment-0001.bin>


More information about the llvm-commits mailing list