================
@@ -766,6 +766,12 @@ SDValue TargetLowering::SimplifyMultipleUseDemandedBits(
unsigned BitWidth = DemandedBits.getBitWidth();
KnownBits LHSKnown, RHSKnown;
switch (Op.getOpcode()) {
+ case ISD::Constant: {
+ const APInt &Value = Op->getAsAPIntVal();
+ if (!Value.isZero() && (Value & DemandedBits).isZero())
----------------
harrisonGPU wrote:
> Value.isSubsetOf(DemandedBits)? I think that's what the IR version does
In my options,we don't handle this optimization in the same way as the IR
version, because the IR version does not need to account for inline immediate
values. Implementing it the same way would require more registers in AMDGPU.
https://github.com/llvm/llvm-project/pull/224882
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits