[PATCH] D114545: [CodeGen] Async unwind - add a pass to fix CFI information

Daniel Kiss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 14 10:54:17 PST 2022


danielkiss added a comment.

Could you please rebase the series? it generated a lot of conflict for me.
the generated directives in the tests are looking good.



================
Comment at: llvm/lib/CodeGen/CFIFixup.cpp:103
+  struct BlockFlags {
+    bool StrongNoFrameOnEntry : 1;
+    bool HasFrameOnEntry : 1;
----------------
NIT, I'm not sure the bitfield here brings anything in terms of performance vs used memory.


================
Comment at: llvm/lib/CodeGen/CFIFixup.cpp:121
+      PrologueBlock = MBB;
+      HasPrologue = true;
+    }
----------------
NIT `HasPrologue` maybe better to call `AfterPrologue` since recalculated during the traversal but the function could has a prolog while HasPrologue false.
HasEpilogue -> AfterEpilog?


================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:624-625
+      MF.getFrameInfo().getCalleeSavedInfo();
+  if (CSI.empty())
+    return;
+  for (const auto &Info : CSI) {
----------------
later the for loop can handle the empt list.


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

https://reviews.llvm.org/D114545



More information about the llvm-commits mailing list