aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2026-02-12 08:38:37 +0000
committerGitHub <noreply@github.com>2026-02-12 08:38:37 +0000
commit5fe60e91e509b0ec574c80ac470a13fb0f277670 (patch)
tree2cffc7440d07ec075e53114e20f537f19f094d95 /llvm/lib
parentc774bed9e6153916ff714d62515686a59722068d (diff)
downloadllvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.tar.gz
llvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.tar.bz2
llvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.zip
[SDAG] Copy flags in convertMask when legalizing vselect/setcc (#180979)
This helps keep the flags around, making sure we correctly lower a vector setcc with nnan. Fixes a regression from #180462.
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
index 51278a192fec..aeb9d4d7bdc1 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
@@ -6822,7 +6822,8 @@ SDValue DAGTypeLegalizer::convertMask(SDValue InMask, EVT MaskVT,
ReplaceValueWith(InMask.getValue(1), Mask.getValue(1));
}
else
- Mask = DAG.getNode(InMask->getOpcode(), SDLoc(InMask), MaskVT, Ops);
+ Mask = DAG.getNode(InMask->getOpcode(), SDLoc(InMask), MaskVT, Ops,
+ InMask->getFlags());
// If MaskVT has smaller or bigger elements than ToMaskVT, a vector sign
// extend or truncate is needed.