aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCAsmInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-16 01:46:41 +0000
committerChris Lattner <sabre@nondot.org>2009-09-16 01:46:41 +0000
commit8886dc29cd311a78fd1f672904fd9a3af51c883c (patch)
treebd6106930b39d094647ca34aa8572c913dfdaf41 /include/llvm/MC/MCAsmInfo.h
parent73944d4e73d42ea7fcc2a3408c814a13c20c9b29 (diff)
downloadexternal_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.h20
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;
}