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

Z. Zheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 15:06:56 PDT 2022


zzheng added inline comments.


================
Comment at: llvm/lib/MC/MCWin64EH.cpp:1027
+      // At this point, we have:
+      // 1. Put all epilogs in segments already. No action needed here; or
+      // 2. Found an epilog that will cross segments boundry. We need to
----------------
case 1 is when we exit the above while loop with (E == Epilogs.size()), i.e. there's no epilog left to be put into a segment.


================
Comment at: llvm/lib/MC/MCWin64EH.cpp:1028
+      // 1. Put all epilogs in segments already. No action needed here; or
+      // 2. Found an epilog that will cross segments boundry. We need to
+      //    move back current segment's end boundry, so the epilog is entirely
----------------
case 2 is when we exit the loop above with (E < Epilogs.size) but (Epilogs[E].End >= SegEnd).


================
Comment at: llvm/lib/MC/MCWin64EH.cpp:1031
+      //    in the next segment; or
+      // 3. Left at least one epilog that is entirely after this segment.
+      //    It'll be handled by the next iteration, or the last segment.
----------------
this is (E < Epilogs.size()) and (Epilogs[E].end >= SegEnd) when we exit the loop above.


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