[clang] [llvm] Add support for flag output operand "=@cc" for SystemZ. (PR #125970)
Ulrich Weigand via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 24 07:39:07 PDT 2025
================
@@ -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
More information about the llvm-commits
mailing list