[PATCH] D130049: [WinSEH][ARM64] Split unwind info for functions larger than 1MB

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 19 12:22:13 PDT 2022


efriedma added inline comments.


================
Comment at: llvm/lib/MC/MCWin64EH.cpp:1095
+    // FIXME: We won't need this once we emit packed form (.pdata only) for this
+    //        kind of segments.
+    if (!HasEpilogs)
----------------
This FIXME doesn't really make sense; in general, we can't represent segments in pdata-only form.    Among other things, pdata-only form is limited to 8KB function length.

--------

I'm still not really convinced this "fake epilog" form is really useful, even if the Microsoft documentation suggests using it.


================
Comment at: llvm/lib/MC/MCWin64EH.cpp:1160
+  for (auto rit = info->Instructions.rbegin();
+       rit != info->Instructions.rend(); ++rit) {
+    WinEH::Instruction inst = *rit;
----------------
`for (auto Inst : llvm::reverse(info->Instructions)`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130049



More information about the llvm-commits mailing list