diff options
author | Craig Topper <craig.topper@gmail.com> | 2020-05-25 11:34:09 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2020-05-25 11:42:42 -0700 |
commit | 51a276c759c90c844bbabf5066195aaf42fb0c6e (patch) | |
tree | 1311f3354ac3fb11db6da5f5747605a4a0b0732c /llvm/lib/IR/Module.cpp | |
parent | 37ef15143a5d77a0fba0ece4c26a72cfb9e050a0 (diff) | |
download | llvm-51a276c759c90c844bbabf5066195aaf42fb0c6e.zip llvm-51a276c759c90c844bbabf5066195aaf42fb0c6e.tar.gz llvm-51a276c759c90c844bbabf5066195aaf42fb0c6e.tar.bz2 |
[X86] Teach combineTruncatedArithmetic to push truncate through subtracts where only one of the inputs is free to truncate.
Fix combineSubToSubus to handle the new DAG to avoid a regression.
There are still regressions in test14/test15/test16. Where it
looks like were trying to set up cases we could match to
umin+trunc+subus but the handling was never finished. The
regression here isn't unique to sub. Its a lost opportunity for
taking an AND with two truncated inputs and producing a larger
AND with a single truncate. The same thing could happen with
any other node we handle in combineTruncatedArithmetic since we
are moving the truncate up the DAG.
Differential Revision: https://reviews.llvm.org/D80483
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions