================
@@ -9040,10 +9041,6 @@ SDValue SystemZTargetLowering::combineSELECT_CCMASK(
   SDValue FalseVal = N->getOperand(1);
   const auto &&TrueSDVals = simplifyAssumingCCVal(TrueVal, CCReg, DAG);
   const auto &&FalseSDVals = simplifyAssumingCCVal(FalseVal, CCReg, DAG);
-  // There might be cases where TrueSDVals and FalseSDVals are empty as
-  // TrueVal and FalseVal both are non-constant, and they have already been
-  // optimized by combineCCMask, we can not take early exit here, just bypass 
it
-  // and directly create a new SELECT_CCMASK.
----------------
uweigand wrote:

Instead, I'd suggest to set `TrueSDVals` to `{ TrueVal, TrueVal, TrueVal, 
TrueVal }` here if empty (and similarly for `FalseSDVal`).  [ Or maybe combine 
this step with merging true/false together into a single vector based on 
`CCMaskVal` , which would simplify code below.]


https://github.com/llvm/llvm-project/pull/125970
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to