[PATCH] D114879: [AArch64][CodeGen] Emit alignment "Max Skip" operand for AArch64 loops

Nicholas Guy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 7 02:34:52 PST 2021


NickGuy updated this revision to Diff 392320.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114879/new/

https://reviews.llvm.org/D114879

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h


Index: llvm/lib/Target/AArch64/AArch64ISelLowering.h
===================================================================
--- llvm/lib/Target/AArch64/AArch64ISelLowering.h
+++ llvm/lib/Target/AArch64/AArch64ISelLowering.h
@@ -840,6 +840,9 @@
   EVT getAsmOperandValueType(const DataLayout &DL, Type *Ty,
                              bool AllowUnknown = false) const override;
 
+  unsigned
+  getMaxPermittedBytesForAlignment(MachineBasicBlock *MBB) const override;
+
 private:
   /// Keep a pointer to the AArch64Subtarget around so that we can
   /// make the right decision when generating code for different targets.
Index: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
===================================================================
--- llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -8525,6 +8525,15 @@
   return TargetLowering::getAsmOperandValueType(DL, Ty, AllowUnknown);
 }
 
+unsigned AArch64TargetLowering::getMaxPermittedBytesForAlignment(
+    MachineBasicBlock *MBB) const {
+  // Base the max permitted bytes on the alignment value
+  Align A = MBB->getAlignment();
+  if (A != Align(1))
+    return A.value() - 1;
+  return TargetLowering::getMaxPermittedBytesForAlignment(MBB);
+}
+
 /// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
 /// vector.  If it is invalid, don't add anything to Ops.
 void AArch64TargetLowering::LowerAsmOperandForConstraint(


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114879.392320.patch
Type: text/x-patch
Size: 1482 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211207/a99359d8/attachment.bin>


More information about the llvm-commits mailing list