[PATCH] D76570: [AArch64] Homogeneous Prolog and Epilog for Size Optimization

Kyungwoo Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 30 10:49:45 PDT 2020


kyulee added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:229
+    return false;
+  if (!produceCompactUnwindFrame(MF))
+    return false;
----------------
dmgreen wrote:
> Can you explain what CompactUnwindFrame is, and why it's needed for this to work? I'm not really an expert on Frame Lowering, but is there a way to get this to work without that restriction?
This guarantees a pair register use and the ordering of CSR save locations are fixed, which simplifies the current logic for correctness. An immediate remedy to this is to support the non-pair register case, but I'm not either an expert for all other platforms and calling conventions, and I'm not sure how I test and validate such a relaxation. I think probably it's better leaving this extension to folks who know the details for their platforms.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76570





More information about the llvm-commits mailing list