[PATCH] D92766: [XCOFF][AIX] Emit EH information in traceback table
Jason Liu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 8 10:25:10 PST 2020
jasonliu added inline comments.
================
Comment at: llvm/include/llvm/BinaryFormat/XCOFF.h:404
TB_OS2 = 0x10, ///< Reserved for OS use
+ TB_EH_INFO = 0x08, ///< Exception handling info presents.
TB_LONGTBTABLE2 = 0x01 ///< Additional tbtable extension exists
----------------
daltenty wrote:
> nit: since every other entry is missing a period, lets just omit it (and the s)
I think we are suppose to have periods in every comments (at least it's the most used form in this file as well), so I will do a drive by fix to add periods in every entry.
================
Comment at: llvm/lib/CodeGen/AsmPrinter/AIXException.cpp:71
+ const Function *Per =
+ dyn_cast<Function>(F.getPersonalityFn()->stripPointerCasts());
const MCSymbol *PerSym = Asm->TM.getSymbol(Per);
----------------
daltenty wrote:
> Compared with what was here before it seems like `F.getPersonalityFn()` can assert if `hasPersonalityFn()` is false, which can happen now because we won't check that before setting Per anymore, and we'll answer ShouldEmitEHBlock true if we have landing pads regardless of the personality setting.
Runtime need to use personality routine to parses LSDA area to get to those landingpads. So without personality routine, there is no reason for us to have landingpads.
So if we have landingpads, but no personality rountine presents in this function, something might already gone wrong somewhere else.
I could add an assert here and if we hit it in any case, we would need to examine the situation at that point.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92766/new/
https://reviews.llvm.org/D92766
More information about the llvm-commits
mailing list