forked from OSchip/llvm-project
[X86] Don't lie about legality to TLI's demanded bits.
Like r309323, X86 had a typo where it passed the wrong flags to TLO. Found by inspection; I haven't been able to tickle this into having observable behavior. I don't think it does, given that X86 doesn't have custom demanded bits logic, and the generic logic doesn't have a lot of exposure to illegal constructs. llvm-svn: 309325
This commit is contained in:
parent
52cecb1f27
commit
c890993726
llvm/lib/Target/X86
|
@ -30573,8 +30573,8 @@ static SDValue combineSelect(SDNode *N, SelectionDAG &DAG,
|
|||
assert(BitWidth >= 8 && BitWidth <= 64 && "Invalid mask size");
|
||||
APInt DemandedMask(APInt::getSignMask(BitWidth));
|
||||
KnownBits Known;
|
||||
TargetLowering::TargetLoweringOpt TLO(DAG, DCI.isBeforeLegalize(),
|
||||
DCI.isBeforeLegalizeOps());
|
||||
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
|
||||
!DCI.isBeforeLegalizeOps());
|
||||
if (TLI.ShrinkDemandedConstant(Cond, DemandedMask, TLO) ||
|
||||
TLI.SimplifyDemandedBits(Cond, DemandedMask, Known, TLO)) {
|
||||
// If we changed the computation somewhere in the DAG, this change will
|
||||
|
|
Loading…
Reference in New Issue