diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-09-16 01:46:41 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-09-16 01:46:41 +0000 |
| commit | 8886dc29cd311a78fd1f672904fd9a3af51c883c (patch) | |
| tree | bd6106930b39d094647ca34aa8572c913dfdaf41 /include/llvm/MC/MCAsmInfo.h | |
| parent | 73944d4e73d42ea7fcc2a3408c814a13c20c9b29 (diff) | |
| download | external_llvm-8886dc29cd311a78fd1f672904fd9a3af51c883c.zip external_llvm-8886dc29cd311a78fd1f672904fd9a3af51c883c.tar.gz external_llvm-8886dc29cd311a78fd1f672904fd9a3af51c883c.tar.bz2 | |
Big change #1 for personality function references:
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
fields from MAI: they aren't part of the asm syntax, they are
related to the structure of the object file.
To replace their functionality, add a new
TLOF::getSymbolForDwarfGlobalReference method which asks targets
to decide how to reference a global from EH in a pc-relative way.
The default implementation just returns the symbol. The default
darwin implementation references the symbol through an indirect
$non_lazy_ptr stub. The bizarro x86-64 darwin specialization
handles the weird "foo@GOTPCREL+4" hack.
DwarfException.cpp now uses this to emit the reference to the
symbol in the right way, and this also eliminates another
horrible hack from DwarfException.cpp:
- if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
- O << "-" << MAI->getPCSymbol();
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCAsmInfo.h')
| -rw-r--r-- | include/llvm/MC/MCAsmInfo.h | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/include/llvm/MC/MCAsmInfo.h b/include/llvm/MC/MCAsmInfo.h index 7f2ce42..98e43a3 100644 --- a/include/llvm/MC/MCAsmInfo.h +++ b/include/llvm/MC/MCAsmInfo.h @@ -84,17 +84,6 @@ namespace llvm { /// is "l" on Darwin, currently used for some ObjC metadata. const char *LinkerPrivateGlobalPrefix; // Defaults to "" - /// PersonalityPrefix/Suffix - If these are nonempty, these strings will - /// enclose any personality function in the common frame section. - /// - const char *PersonalityPrefix; // Defaults to "" - const char *PersonalitySuffix; // Defaults to "" - - /// NeedsIndirectEncoding - If set, we need to set the indirect encoding bit - /// for EH in Dwarf. - /// - bool NeedsIndirectEncoding; // Defaults to false - /// InlineAsmStart/End - If these are nonempty, they contain a directive to /// emit before and after an inline assembly statement. const char *InlineAsmStart; // Defaults to "#APP\n" @@ -353,15 +342,6 @@ namespace llvm { const char *getLinkerPrivateGlobalPrefix() const { return LinkerPrivateGlobalPrefix; } - const char *getPersonalityPrefix() const { - return PersonalityPrefix; - } - const char *getPersonalitySuffix() const { - return PersonalitySuffix; - } - bool getNeedsIndirectEncoding() const { - return NeedsIndirectEncoding; - } const char *getInlineAsmStart() const { return InlineAsmStart; } |
