summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAsmInfoDarwin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a getExprForPersonalitySymbol method to MCAsmInfo. Use it whenRafael Espindola2011-04-281-0/+13
| | | | | | converting the symbol passed to .cfi_personality into bytes is the file. llvm-svn: 130400
* Omit private_extern declarations of extern symbols; followup toStuart Hastings2011-02-231-0/+1
| | | | | | r124468. Patch by Rafael Avila de Espindola! llvm-svn: 126297
* Rename NeedsSetToChangeDiffSize to HasAggressiveSymbolFolding which is a muchRafael Espindola2010-12-221-1/+3
| | | | | | better name and matches what is used in the MachO writer. llvm-svn: 122443
* Second try at making direct object emission produce the same resultsRafael Espindola2010-12-061-1/+2
| | | | | | | as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc bootstrap on darwin10 using darwin9's assembler and linker. llvm-svn: 121006
* Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoidRafael Espindola2010-12-041-0/+3
| | | | | | | | | | | doing that if the target is darwin10 or newer. This fixes *) Direct object emission was producing objects without the workaround on darwin9. *) Assembly printing was producing objects with the workaround on linux. llvm-svn: 120866
* Added support for the Mach-O .symbol_resolver directive. rdar://8673046Kevin Enderby2010-11-191-0/+1
| | | | llvm-svn: 119816
* Fix .debug_range for linux. Patch by Krister Wombell.Devang Patel2010-09-021-0/+1
| | | | llvm-svn: 112830
* Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.Devang Patel2010-08-311-0/+2
| | | | | | This patch was developed on top of original patch by Artur Pietrek. llvm-svn: 112678
* Revert some unneeded parts of the change in r107886 for theKevin Enderby2010-07-081-1/+0
| | | | | | | | | .weak_def_can_be_hidden directive. Chris pointed out that the MCAsmInfo.h/.cpp chunks aren't needed for this until the compiler starts generating these. And when that happens it will be more convenient for it to be a bool than a const char*. llvm-svn: 107906
* Added the darwin .weak_def_can_be_hidden directive.Kevin Enderby2010-07-081-0/+1
| | | | llvm-svn: 107886
* Revert r107205 and r107207.Bill Wendling2010-06-291-1/+0
| | | | llvm-svn: 107215
* Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling2010-06-291-0/+1
| | | | | | | | | | | | | | | | | | | metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". llvm-svn: 107205
* Partial code for emitting thread local bss data.Eric Christopher2010-05-201-0/+1
| | | | llvm-svn: 104197
* move three lowering hooks from MAI to TLOF and make one of themChris Lattner2010-03-101-11/+0
| | | | | | | semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
* Eliminate SetDirective, and replace it with HasSetDirective.Chris Lattner2010-01-261-1/+0
| | | | | | | | | | | Default HasSetDirective to true, since most targets have it. The targets that claim to not have it probably do, or it is spelled differently. These include Blackfin, Mips, Alpha, and PIC16. All of these except pic16 are normal ELF targets, so they almost certainly have it. llvm-svn: 94585
* Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.Rafael Espindola2010-01-261-0/+1
| | | | | | Original patch by Sandeep Patel and updated by me. llvm-svn: 94582
* eliminate MCAsmInfo::NeedsSet: we now just use .set on any platformChris Lattner2010-01-261-1/+0
| | | | | | that has it. llvm-svn: 94581
* resolve a fixme: the "nonexecutable stack directive" is actuallyChris Lattner2010-01-231-0/+1
| | | | | | | | | a .section. Switch to it with SwitchSection. However, I think that this directive should be safe on any ELF target. If so, we should hoist it up out of the X86 and SystemZ targets. llvm-svn: 94298
* mcize visibility directives.Chris Lattner2010-01-231-2/+6
| | | | llvm-svn: 94295
* mcstreamerize .no_dead_strip and .reference for static ctors/dtors.Chris Lattner2010-01-231-1/+1
| | | | llvm-svn: 94290
* revert 93934, removing the MCAsmInfo endianness bit. I can'tChris Lattner2010-01-201-2/+1
| | | | | | | stomache MCAsmInfo having this, and I found a better solution to this layering issue. llvm-svn: 93985
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-191-1/+2
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* stop using the .lcomm pseudoop on darwin, instead, directly use theChris Lattner2010-01-191-2/+2
| | | | | | .zerofill directive. Streamerize its generation. llvm-svn: 93868
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-191-0/+1
| | | | | | "isdarwin". llvm-svn: 93852
* move production of .reference directives for static ctor/dtor list onChris Lattner2010-01-191-0/+1
| | | | | | darwin into common code. llvm-svn: 93849
* Cleanup handling of .zerofill on darwin:Chris Lattner2010-01-191-1/+1
| | | | | | | | | | | | | 1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. llvm-svn: 93838
* Big change #1 for personality function references:Chris Lattner2009-09-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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(); llvm-svn: 81991
* remove MAI::JumpTableSpecialLabelPrefix now that MAI Chris Lattner2009-09-131-6/+0
| | | | | | has real information about linker private linkage. llvm-svn: 81695
* Revert last patch. We need to put this into TargetLowering. There will be a lotBill Wendling2009-08-251-1/+0
| | | | | | of EH stuff going into there, so we can wait to add them all then. llvm-svn: 80036
* Add a target asm info hook to specify that particular bits of data in the FDEBill Wendling2009-08-251-0/+1
| | | | | | | | | | should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants these bits to be 64-bits (.quad). However, other platforms may disagree. This is just the info right now and is part of a work-in-progress which needs this. We'll add the actual *use* of this soon. llvm-svn: 80024
* rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin.Chris Lattner2009-08-221-1/+1
| | | | llvm-svn: 79773
* move the MCAsmInfo .cpp/.h files into the right Chris Lattner2009-08-221-0/+59
directories and rename them. llvm-svn: 79768
OpenPOWER on IntegriCloud