[PATCH] D152540: [MC][MachO]Do not emit DWARF for no-personality case
Vy Nguyen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 9 11:39:33 PDT 2023
oontvoo marked an inline comment as not done.
oontvoo added inline comments.
================
Comment at: llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp:572
return CU::UNWIND_ARM64_MODE_FRAMELESS;
- if (!isDarwinCanonicalPersonality(FI->Personality) &&
+ if (FI->Personality && !isDarwinCanonicalPersonality(FI->Personality) &&
!Ctxt->emitCompactUnwindNonCanonical())
----------------
jyknight wrote:
> oontvoo wrote:
> > jyknight wrote:
> > > Move the change into the isDarwinCanonicalPersonality function?
> > well, both of these two predicates are *already* in the function. (it is supposed to tell you if a given symbol is a canonical-darwin personality.)
> > BUT if it returns false, then it could be any of the following reason:
> > - (1) the symbol is NULL
> > - (2) the symbol is NOT MachO
> > - (3) the symbol is NOT canonical personality symbol.
> >
> > We only want to return DWARF-MODE here for reason number (3)
> >
> > If we want to reuse a util function, then we ought to name it `isNonNullDarwinNonCanonicalPersonality`...
> > That's a bit hard to read.
> I'd say the util function should return true for NULL, because NULL is a canonical personality (it's always given index 0, right?)
>
> How do you even get a !MachO symbol in here -- all of this is Mach-O-specific, right? Perhaps can just remove that clause?
Good point.
I've updated the function and replace the isMachO check with just an assert instead. (who knows?!)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D152540/new/
https://reviews.llvm.org/D152540
More information about the llvm-commits
mailing list