[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

David Tenty via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 1 09:53:39 PST 2020


daltenty accepted this revision.
daltenty added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/lib/CodeGen/AsmPrinter/AIXException.cpp:68
+    Per = dyn_cast<Function>(F.getPersonalityFn()->stripPointerCasts());
+  bool EmitEHBlock =
+      HasLandingPads || (F.hasPersonalityFn() &&
----------------
jasonliu wrote:
> daltenty wrote:
> > This logic seems very similar to the base class. 
> > 
> > The pattern there and in other instance of EHStreamer seems to be to make these queries in beginFunction, store the results in a member and just early exit if we have nothing to emit in endFunction, etc. Is that something we should be doing here? (e.g. presumably the traceback emission will want to know if we plan to emit anything so it can emit the appropriate info)
> I agree that this is a query that we want to share with the traceback table emission. 
> Presumably, we need to do the traceback table emission somewhere in PPCAIXAsmPrinter.
> So that means we would need to have a query that could accessible from PPCAIXAsmPrinter and here. 
> And there are other EHStreamer that have similar queries (but not all of them), so this makes it trickier to get it right if we want to do it for all platforms. 
> I was hoping to address this issue when we actually do the traceback table emission for EH info so that we could keep the scope of the patch reasonable.
Thanks, I think that helps explain the structure here. This should be amenable to later refactoring, so that sounds good for now.


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

https://reviews.llvm.org/D91455



More information about the cfe-commits mailing list