mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[SelectionDAG] Make use of KnownBits::commonBits. NFC.
Differential Revision: https://reviews.llvm.org/D94587
This commit is contained in:
parent
4aa6e58a81
commit
3959fb7bf5
@ -509,8 +509,7 @@ void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) {
|
||||
return;
|
||||
}
|
||||
DestLOI.NumSignBits = std::min(DestLOI.NumSignBits, SrcLOI->NumSignBits);
|
||||
DestLOI.Known.Zero &= SrcLOI->Known.Zero;
|
||||
DestLOI.Known.One &= SrcLOI->Known.One;
|
||||
DestLOI.Known = KnownBits::commonBits(DestLOI.Known, SrcLOI->Known);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1016,10 +1016,8 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
Depth + 1))
|
||||
return true;
|
||||
|
||||
if (!!DemandedVecElts) {
|
||||
Known.One &= KnownVec.One;
|
||||
Known.Zero &= KnownVec.Zero;
|
||||
}
|
||||
if (!!DemandedVecElts)
|
||||
Known = KnownBits::commonBits(Known, KnownVec);
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -1044,14 +1042,10 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
|
||||
Known.Zero.setAllBits();
|
||||
Known.One.setAllBits();
|
||||
if (!!DemandedSubElts) {
|
||||
Known.One &= KnownSub.One;
|
||||
Known.Zero &= KnownSub.Zero;
|
||||
}
|
||||
if (!!DemandedSrcElts) {
|
||||
Known.One &= KnownSrc.One;
|
||||
Known.Zero &= KnownSrc.Zero;
|
||||
}
|
||||
if (!!DemandedSubElts)
|
||||
Known = KnownBits::commonBits(Known, KnownSub);
|
||||
if (!!DemandedSrcElts)
|
||||
Known = KnownBits::commonBits(Known, KnownSrc);
|
||||
|
||||
// Attempt to avoid multi-use src if we don't need anything from it.
|
||||
if (!DemandedBits.isAllOnesValue() || !DemandedSubElts.isAllOnesValue() ||
|
||||
@ -1108,10 +1102,8 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
Known2, TLO, Depth + 1))
|
||||
return true;
|
||||
// Known bits are shared by every demanded subvector element.
|
||||
if (!!DemandedSubElts) {
|
||||
Known.One &= Known2.One;
|
||||
Known.Zero &= Known2.Zero;
|
||||
}
|
||||
if (!!DemandedSubElts)
|
||||
Known = KnownBits::commonBits(Known, Known2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1149,15 +1141,13 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
if (SimplifyDemandedBits(Op0, DemandedBits, DemandedLHS, Known2, TLO,
|
||||
Depth + 1))
|
||||
return true;
|
||||
Known.One &= Known2.One;
|
||||
Known.Zero &= Known2.Zero;
|
||||
Known = KnownBits::commonBits(Known, Known2);
|
||||
}
|
||||
if (!!DemandedRHS) {
|
||||
if (SimplifyDemandedBits(Op1, DemandedBits, DemandedRHS, Known2, TLO,
|
||||
Depth + 1))
|
||||
return true;
|
||||
Known.One &= Known2.One;
|
||||
Known.Zero &= Known2.Zero;
|
||||
Known = KnownBits::commonBits(Known, Known2);
|
||||
}
|
||||
|
||||
// Attempt to avoid multi-use ops if we don't need anything from them.
|
||||
@ -1384,8 +1374,7 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
return true;
|
||||
|
||||
// Only known if known in both the LHS and RHS.
|
||||
Known.One &= Known2.One;
|
||||
Known.Zero &= Known2.Zero;
|
||||
Known = KnownBits::commonBits(Known, Known2);
|
||||
break;
|
||||
case ISD::SELECT_CC:
|
||||
if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, Known, TLO,
|
||||
@ -1402,8 +1391,7 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
return true;
|
||||
|
||||
// Only known if known in both the LHS and RHS.
|
||||
Known.One &= Known2.One;
|
||||
Known.Zero &= Known2.Zero;
|
||||
Known = KnownBits::commonBits(Known, Known2);
|
||||
break;
|
||||
case ISD::SETCC: {
|
||||
SDValue Op0 = Op.getOperand(0);
|
||||
|
Loading…
Reference in New Issue
Block a user