[llvm] [SelectionDAG] Use unaligned store to move AVX registers onto stack for `extractelement` (PR #78422)
Manish Kausik H via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 2 03:18:00 PST 2024
================
@@ -1377,6 +1378,21 @@ void SelectionDAGLegalize::LegalizeOp(SDNode *Node) {
}
}
+// Helper function that generates an MMO that considers the alignment of the
+// stack, and the size of the stack object
+static MachineMemOperand *getStackAlignedMMO(SDValue StackPtr,
+ MachineFunction &MF,
+ bool isObjectScalable) {
+ auto &MFI = MF.getFrameInfo();
+ int FI = cast<FrameIndexSDNode>(StackPtr)->getIndex();
+ MachinePointerInfo PtrInfo = MachinePointerInfo::getFixedStack(MF, FI);
+ auto objectSize = isObjectScalable ? ~UINT16_C(0) : MFI.getObjectSize(FI);
----------------
Nirhar wrote:
Done!
https://github.com/llvm/llvm-project/pull/78422
More information about the llvm-commits
mailing list