llvm/lib
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
..
Analysis simplify some code 2009-09-16 00:08:07 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead 2009-09-08 22:20:35 +00:00
Bitcode Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed. 2009-09-07 23:54:19 +00:00
CodeGen Big change #1 for personality function references: 2009-09-16 01:46:41 +00:00
CompilerDriver convert LoopInfo.h and GraphWriter.h to use raw_ostream 2009-08-23 07:19:13 +00:00
Debugger Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
ExecutionEngine remove a dead variable. 2009-09-16 01:29:11 +00:00
Linker Remove unnecessary #include. 2009-09-12 22:24:25 +00:00
MC Big change #1 for personality function references: 2009-09-16 01:46:41 +00:00
Support Drop the raw_ostream required buffer size to 1. 2009-09-15 20:31:46 +00:00
System Get rid of GetProcessId in Win32/Program.inc. 2009-09-15 03:39:45 +00:00
Target Big change #1 for personality function references: 2009-09-16 01:46:41 +00:00
Transforms Add more newlines to make up for the ones removed from the end of instructions. 2009-09-15 07:08:25 +00:00
VMCore Fix an accidental inversion of the inbounds flag. 2009-09-15 16:00:30 +00:00
Makefile LLVMC doesn't need ENABLE_PIC to build now. 2009-07-04 03:54:54 +00:00