llvm/lib/MC
Chris Lattner 8c6ed05157 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
2009-09-16 01:46:41 +00:00
..
CMakeLists.txt Update CMake. 2009-09-14 05:22:47 +00:00
Makefile
MCAsmInfo.cpp Big change #1 for personality function references: 2009-09-16 01:46:41 +00:00
MCAsmInfoCOFF.cpp rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin. 2009-08-22 21:03:30 +00:00
MCAsmInfoDarwin.cpp Big change #1 for personality function references: 2009-09-16 01:46:41 +00:00
MCAsmLexer.cpp llvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs. 2009-08-14 02:18:40 +00:00
MCAsmParser.cpp Add MCAsmParser interface. 2009-07-20 18:55:04 +00:00
MCAsmStreamer.cpp Change MCAsmStreamer to take an MCInstPrinter instead of a 2009-09-14 03:02:37 +00:00
MCAssembler.cpp llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy). 2009-09-01 04:09:03 +00:00
MCCodeEmitter.cpp llvm-mc: Tweak MCCodeEmitter skeleton. 2009-08-27 01:34:22 +00:00
MCContext.cpp llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table. 2009-08-26 22:13:22 +00:00
MCDisassembler.cpp add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline. 2009-09-14 01:43:38 +00:00
MCExpr.cpp add a helper method for creating MCSymbol and MCSymbolRefExpr at 2009-09-16 01:26:31 +00:00
MCInst.cpp eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for 2009-09-12 20:45:03 +00:00
MCInstPrinter.cpp add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline. 2009-09-14 01:43:38 +00:00
MCMachOStreamer.cpp llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues. 2009-08-31 08:09:28 +00:00
MCNullStreamer.cpp llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues. 2009-08-31 08:09:28 +00:00
MCSection.cpp rename TAI -> MAI, being careful not to make MAILJMP instructions :) 2009-08-22 21:43:10 +00:00
MCSectionELF.cpp rename TAI -> MAI, being careful not to make MAILJMP instructions :) 2009-08-22 21:43:10 +00:00
MCSectionMachO.cpp rename TAI -> MAI, being careful not to make MAILJMP instructions :) 2009-08-22 21:43:10 +00:00
MCStreamer.cpp Make AsmStreamer maintain a notion of the current section, pushing it up from the 2009-08-18 06:15:16 +00:00
MCSymbol.cpp fix MCSymbol printing on darwin to exactly match the mangler (handling of \n and " in a symbol name). 2009-09-13 18:11:09 +00:00
MCValue.cpp Thread an MCAsmInfo pointer through the various MC printing APIs, 2009-09-03 05:46:51 +00:00
TargetAsmParser.cpp llvm-mc: Add -triple, and start fetching the target asm printer. 2009-07-17 22:38:58 +00:00