[RISCV] Support BSET/BCLR/BINV in hasAllWUsers.
authorCraig Topper <craig.topper@sifive.com>
Wed, 9 Nov 2022 19:16:00 +0000 (11:16 -0800)
committerCraig Topper <craig.topper@sifive.com>
Wed, 9 Nov 2022 19:32:20 +0000 (11:32 -0800)
commit0b01aebf5e658f3a9c026b194e7d60c0aa7066de
tree20e9e604e7fcbf03072e5419a64e147e7b6e7319
parent902976a379c437de844601341a6329236932d19e
[RISCV] Support BSET/BCLR/BINV in hasAllWUsers.

These instructions set, clear, or invert a single bit. If their
users don't use the upper 32 bits, they don't use the upper 32 bits
of their input.

Additionally the second operand BSET/BCLR/BINV is a shift amount
which only uses 6 bits of the source.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D137452
llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp