diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-06-25 10:01:42 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-06-25 10:01:42 +0000 |
commit | cdd43eac4fe3a4fbfca30d95d2032c23b3bf838d (patch) | |
tree | 379d9f4564b50e22df9b7e786947b9adb1778dbb /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 0142b9ce318ab94295d7fe4764eadaeab84cacb5 (diff) | |
download | llvm-cdd43eac4fe3a4fbfca30d95d2032c23b3bf838d.zip llvm-cdd43eac4fe3a4fbfca30d95d2032c23b3bf838d.tar.gz llvm-cdd43eac4fe3a4fbfca30d95d2032c23b3bf838d.tar.bz2 |
[Codegen] TargetLowering::SimplifySetCC(): omit urem when possible
Summary:
This addresses the regression that is being exposed by D50222 in `test/CodeGen/X86/jump_sign.ll`
The missing fold, at least partially, looks trivial:
https://rise4fun.com/Alive/Zsln
i.e. if we are comparing with zero, and comparing the `urem`-by-non-power-of-two,
and the `urem` is of something that may at most have a single bit set (or no bits set at all),
the `urem` is not needed.
Reviewers: RKSimon, craig.topper, xbolva00, spatel
Reviewed By: xbolva00, spatel
Subscribers: xbolva00, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63390
llvm-svn: 364286
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions