aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-12-10Fixed version of 121434 with no new memory leaks.Rafael Espindola1-1/+1
llvm-svn: 121471
2010-12-10Revert my previous patch to make the valgrind bots happy.Rafael Espindola1-1/+1
llvm-svn: 121461
2010-12-09Initial support for the cfi directives. This is just enough to getRafael Espindola1-1/+1
f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
2010-11-09Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola1-1/+1
earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
2010-10-27COFF: Add IMAGE_SCN_MEM_READ to text sections.Michael J. Spencer1-0/+1
There are currently 100 references to COFF::IMAGE_SCN in 6 files and 11 different functions. Section to attribute mapping really needs to happen in one place to avoid problems like this. llvm-svn: 117473
2010-10-27Fix whitespace.Michael J. Spencer1-15/+15
llvm-svn: 117472
2010-10-19lib/CodeGen/TargetLoweringObjectFileImpl.cpp: Tweak to emit ↵NAKAMURA Takumi1-5/+5
".{section}${name}" instead of ".{section}$linkonce_{name}" for linkonce sections. It seems GNU ld/PECOFF relies on section names, linking with g++'s libstdc++.a would fail. llvm-svn: 116791
2010-10-08Do not check that the bodies of two defs of same linkonce global are the same.Anton Korobeynikov1-1/+1
Such a check does not make any sense in presense of inlining and other compiler-dependent stuff. This should fix bunch of warnings on mingw32. llvm-svn: 116113
2010-09-28Revert r114997. It was causing a failure on darwin10-selfhost.Bill Wendling1-5/+13
llvm-svn: 115002
2010-09-28Fix a FIXME. _foo.eh symbols are currently always exported so that the linkerBill Wendling1-13/+5
knows about them. This is not necessary on 10.6 and later. llvm-svn: 114997
2010-09-27the latest assembler that runs on powerpc 10.4 machines doesn'tChris Lattner1-0/+14
support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. llvm-svn: 114817
2010-08-30two changes:Chris Lattner1-5/+0
1) nuke ConstDataCoalSection, which is dead. 2) revise my previous patch for rdar://8018335, which was completely wrong. Specifically, it doesn't make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS, because it is for readonly data. templates (it turns out) go to const_coal_nt. The real fix for rdar://8018335 was to give ConstTextCoalSection a section kind of ReadOnly instead of Text. llvm-svn: 112496
2010-07-15fix the definitions of ConstTextCoalSection/ConstDataCoalSectionChris Lattner1-2/+3
to keep "Text" in sync with the "pure instructions" section attribute. Lack of this attribute was preventing the assembler from emitting multibyte noops instructions for templates (and inlines, and other coalesced stuff) and was causing the assembler to mismatch .o files. This fixes rdar://8018335 llvm-svn: 108461
2010-07-06Fix a major regression on COFF targets introduced by r103267: 'discardable' ↵Anton Korobeynikov1-1/+1
section means that it is used only during the program load and can be discarded afterwards. This way *only* debug sections can be discarded, but not the opposite. Seems like the copy-and-pasto from ELF code, since there it contains the reverse flag ('alloc'). llvm-svn: 107658
2010-07-01MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by MichaelDaniel Dunbar1-55/+55
Spencer! llvm-svn: 107418
2010-06-29Revert r107205 and r107207.Bill Wendling1-4/+3
llvm-svn: 107215
2010-06-29Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling1-3/+4
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
2010-05-25Add support for initialized global data for darwin tls. Update commentsEric Christopher1-3/+2
and testcases accordingly. llvm-svn: 104635
2010-05-22Add full bss data support for darwin tls variables.Eric Christopher1-2/+8
llvm-svn: 104414
2010-05-17More data/parsing support for tls directives. Add a few more testcasesEric Christopher1-0/+6
and cleanup comments as well. llvm-svn: 103985
2010-05-17Add some section and constant support for darwin TLS.Eric Christopher1-1/+15
llvm-svn: 103974
2010-05-07add COFF support for COMDAT sections, patch by Nathan Jeffords!Chris Lattner1-4/+16
llvm-svn: 103304
2010-05-07switch MCSectionCOFF from a syntactic to semantic representation,Chris Lattner1-54/+115
patch by Peter Housel! llvm-svn: 103267
2010-04-13add llvm codegen support for -ffunction-sections and -fdata-sections,Chris Lattner1-2/+36
patch by Sylvere Teissier! llvm-svn: 101106
2010-04-08delete a forwarding function.Chris Lattner1-89/+87
llvm-svn: 100815
2010-04-08move elf section uniquing to MCContext. Along the wayChris Lattner1-19/+1
merge XCore's section into MCSectionELF llvm-svn: 100812
2010-04-08remove the TargetLoweringObjectFileMachO::getMachoSectionChris Lattner1-89/+102
api and update clients to use MCContext instead. llvm-svn: 100808
2010-04-08move macho section uniquing from MCParser and TLOF to MCContext whereChris Lattner1-32/+4
the compiler and asmparser now unique to the same sections. This fixes rdar://7835021. llvm-svn: 100807
2010-04-07rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner1-4/+4
llvm-svn: 100709
2010-03-30Rip out the 'is temporary' nonsense from the MCContext interface toChris Lattner1-2/+2
create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64. This fixes rdar://7807601. llvm-svn: 99902
2010-03-15Now that the default for Darwin platforms is to place the LSDA into the TEXTBill Wendling1-3/+3
section, remove the target-specific code that performs this. llvm-svn: 98580
2010-03-15use Mang->getSymbol() more.Chris Lattner1-35/+17
llvm-svn: 98577
2010-03-15fix MCSectionELF to not leak memory, just like I did for MCSymbol.Chris Lattner1-4/+6
MCSectionMachO is already fine (yay for fixed size arrays?), MCSectionCOFF still leaks. llvm-svn: 98537
2010-03-11fix a fixme in TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner1-3/+3
where we used ot create an MCSymbol for ".". Now emit an assembler temporary label and reference it instead of "." textually. rdar://7739457 llvm-svn: 98292
2010-03-11rename getSymbolForDwarf* to getExprForDwarf* since it returnsChris Lattner1-10/+12
an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. llvm-svn: 98278
2010-03-10Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling1-8/+18
indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. llvm-svn: 98199
2010-03-10move three lowering hooks from MAI to TLOF and make one of themChris Lattner1-0/+8
semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
2010-03-10set the temporary bit on MCSymbols correctly.Chris Lattner1-4/+10
llvm-svn: 98124
2010-03-07tidy upChris Lattner1-10/+10
llvm-svn: 97895
2010-03-05Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. ThisCharles Davis1-1/+1
is a workaround for <rdar://problem/7672401/> (which I filed). This let's us build Wine on Darwin, and it gets the Qt build there a little bit further (so Doug says). llvm-svn: 97845
2010-03-03Revert...Bill Wendling1-3/+3
--- Reverse-merging r97592 into '.': U lib/CodeGen/TargetLoweringObjectFileImpl.cpp llvm-svn: 97657
2010-03-02Okay. One last attempt:Bill Wendling1-3/+3
Place the LSDA into the TEXT section on Mach-O. This saves space. llvm-svn: 97592
2010-02-27The TType is always absptr on Mach-O...at least for now.Bill Wendling1-1/+1
llvm-svn: 97295
2010-02-21It turned out that we failed to emit proper symbol stubs on non-x86/darwin ↵Anton Korobeynikov1-1/+29
for ages (we emitted a reference to a stub, but no stub was emitted). The code inside x86-32/macho target objfile lowering should actually be the generic one - move it there. This (I really, really hope) should fix EH issues on ppc/darwin and arm/darwin. llvm-svn: 96755
2010-02-19Revert Anton's most recent EH patch (r96637), since it breaks a lot ofBob Wilson1-17/+0
ARM and Thumb tests. llvm-svn: 96680
2010-02-19Use the same encoding for EH stuff uniformly on all MachO targets.Anton Korobeynikov1-0/+17
This hopefulyl should unbreak EH on PPC/Darwin. llvm-svn: 96637
2010-02-15Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov1-0/+874
llvm-svn: 96288