llvm-6502/lib/Target/ARM/AsmPrinter
Bill Wendling 52a50e5d0e When outputing a non-lazy pointer for a stub, we may need to fill in the value
for the NLP because the object it's pointing to may be internal to the file.

This seems counter-intuitive, but bear with me. When we place the LSDA into the
TEXT section, the type info pointers need to be indirect and pc-rel. We
accomplish this by using NLPs. However, sometimes the types are local to the
file. GCC gets around this by not using a NLP in this case, but a "regular"
indirection like this:

GCC_except_tbl:
  .long Lfoo-.

__ZTIA:  @ This is local
  ...

Lfoo:
  .long __ZTIA

LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to
use them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98218 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11 01:18:13 +00:00
..
ARMAsmPrinter.cpp When outputing a non-lazy pointer for a stub, we may need to fill in the value 2010-03-11 01:18:13 +00:00
ARMInstPrinter.cpp AL is an optional mnemonic extension for always, except in IT instructions. 2010-03-02 17:57:15 +00:00
ARMInstPrinter.h Added Thumb2 LDRD/STRD pre/post variants for disassembly only. 2010-03-11 01:13:36 +00:00
ARMMCInstLower.cpp set the temporary bit on MCSymbols correctly. 2010-03-10 02:25:11 +00:00
ARMMCInstLower.h
CMakeLists.txt
Makefile