[llvm] [AArch64] Improve index selection for histograms (PR #111150)
Sam Tebbs via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 18 07:55:49 PDT 2024
================
@@ -24105,12 +24104,18 @@ static SDValue performMaskedGatherScatterCombine(
DAG.getVTList(N->getValueType(0), MVT::Other), MGT->getMemoryVT(), DL,
Ops, MGT->getMemOperand(), IndexType, MGT->getExtensionType());
}
- auto *MSC = cast<MaskedScatterSDNode>(MGS);
- SDValue Data = MSC->getValue();
- SDValue Ops[] = {Chain, Data, Mask, BasePtr, Index, Scale};
- return DAG.getMaskedScatter(DAG.getVTList(MVT::Other), MSC->getMemoryVT(), DL,
- Ops, MSC->getMemOperand(), IndexType,
- MSC->isTruncatingStore());
+ if (auto *MSC = dyn_cast<MaskedScatterSDNode>(MGS)) {
+ SDValue Data = MSC->getValue();
+ SDValue Ops[] = {Chain, Data, Mask, BasePtr, Index, Scale};
+ return DAG.getMaskedScatter(DAG.getVTList(MVT::Other), MSC->getMemoryVT(),
+ DL, Ops, MSC->getMemOperand(), IndexType,
+ MSC->isTruncatingStore());
+ }
+ auto *HG = cast<MaskedHistogramSDNode>(MGS);
+ SDValue Ops[] = {Chain, HG->getInc(), Mask, BasePtr,
+ Index, Scale, HG->getIntID()};
----------------
SamTebbs33 wrote:
You could try removing the spaces and running the formatter again to sort of "reset it".
https://github.com/llvm/llvm-project/pull/111150
More information about the llvm-commits
mailing list