jasonliu added inline comments.

================
Comment at: llvm/lib/CodeGen/AsmPrinter/AIXException.cpp:68
+    Per = dyn_cast<Function>(F.getPersonalityFn()->stripPointerCasts());
+  bool EmitEHBlock =
+      HasLandingPads || (F.hasPersonalityFn() &&
----------------
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.


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

https://reviews.llvm.org/D91455

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to