aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-06-19Move the support for using .init_array from ARM to the genericRafael Espindola1-8/+40
TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM, on X86 it is not easy to find out if .init_array should be used or not, so the decision is made via TargetOptions and defaults to off. Add a command line option to llc that enables it. llvm-svn: 158692
2012-04-24Look for the 'Is Simulated' module flag. This indicates that the program is ↵Bill Wendling1-4/+5
compiled to run on a simulator. llvm-svn: 155435
2012-02-23Fix to make sure that a comdat group gets generated correctly for a static ↵Anton Korobeynikov1-1/+2
member of instantiated C++ templates. Patch by Kristof Beyls! llvm-svn: 151250
2012-02-17... and it's probably best to use the correct alignment, rather than just ↵David Chisnall1-1/+1
guessing that it's the same as the size. llvm-svn: 150813
2012-02-17It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ↵David Chisnall1-3/+3
ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons... Thanks to Anton, Duncan and Rafael for helping me track this down. Pointy hat to Rafael for introducing the bug in the first place. llvm-svn: 150811
2012-02-15Use 'getDataNoRel' for the section kind.Bill Wendling1-5/+4
llvm-svn: 150628
2012-02-15Modify the code that emits the module flags to use the new module flags accessorBill Wendling1-36/+34
method. This allows the target lowering code to not have to deal with MDNodes. Also, avoid leaking memory like a sieve by not creating a global variable for the image info section, but just emitting the code directly. llvm-svn: 150624
2012-02-14Add code to the target lowering object file module to handle module flags.Bill Wendling1-0/+60
The MachO back-end needs to emit the garbage collection flags specified in the module flags. This is a WIP, so the front-end hasn't been modified to emit these flags just yet. Documentation and front-end switching to occur soon. llvm-svn: 150507
2012-02-11Add support for implicit TLS model used with MS VC runtime.Anton Korobeynikov1-1/+10
Patch by Kai Nacke! llvm-svn: 150307
2012-01-25Properly emit ctors / dtors with priorities into desired sectionsAnton Korobeynikov1-0/+26
and let linker handle the rest. This finally fixes PR5329 llvm-svn: 148990
2012-01-20More dead code removal (using -Wunreachable-code)David Blaikie1-4/+0
llvm-svn: 148578
2011-11-29On MachO, the pointer to the personality function should always be in theBill Wendling1-3/+1
non_lazy_symbol_pointers section (__IMPORT,__pointers). Ignore the 'hidden' part since that will place it in the wrong section. <rdar://problem/10443720> llvm-svn: 145356
2011-11-15Remove all remaining uses of Value::getNameStr().Benjamin Kramer1-6/+6
llvm-svn: 144648
2011-10-24Check the visibility of the global variable before placing it into the stubsBill Wendling1-2/+6
table. A hidden variable could potentially end up in both lists. <rdar://problem/10336715> llvm-svn: 142869
2011-07-20Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.Evan Cheng1-16/+0
There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. llvm-svn: 135611
2011-07-20Add MCObjectFileInfo and sink the MCSections initialization code fromEvan Cheng1-519/+0
TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569
2011-07-19Fix an obvious typo that's preventing x86 (32-bit) from using .literal16.Evan Cheng1-1/+1
llvm-svn: 135535
2011-07-13Fix up TargetLoweringObjectFile ctors to properly initialize fields.Evan Cheng1-0/+41
llvm-svn: 135068
2011-06-23Use the presence of the __compact_unwind section to indicate that a targetBill Wendling1-10/+7
supports compact unwind info instead of having a separate flag indicating this. llvm-svn: 133685
2011-06-22Add a flag that indicates whether a target supports compact unwind info or not.Bill Wendling1-2/+6
llvm-svn: 133662
2011-06-22Add a __LD,__compact_unwind section.Bill Wendling1-0/+6
If the linker supports it, this will hold the CIE and FDE information in a compact format. The implementation of the compact unwinding emission is coming soon. llvm-svn: 133658
2011-06-13Fix invalid uses of Twine. Hopefully this fixes the problem that Takumi isRafael Espindola1-7/+7
having. llvm-svn: 132898
2011-06-07Fix a silly error I introduce in r131951.Rafael Espindola1-4/+1
Fixes PR10095. llvm-svn: 132735
2011-05-27Add the suffix to the Win64 EH data sections' names if given. Add a test forCharles Davis1-0/+22
this. XFAIL'd, because the COFF AsmParser can't handle .section yet. llvm-svn: 132220
2011-05-26Revert r132111. I built Release (without Asserts), so I didn't know about theCharles Davis1-2/+0
assert that prevented setting alignment on section creation. llvm-svn: 132113
2011-05-26Align Win64 EH Table sections to 4 bytes.Charles Davis1-0/+2
llvm-svn: 132111
2011-05-24Explain FIXME.Rafael Espindola1-4/+5
llvm-svn: 131952
2011-05-24Fix the defaults for .eh_frame. We were marking it as writable.Rafael Espindola1-2/+2
llvm-svn: 131951
2011-05-20Fix typo. When will I learn?Charles Davis1-1/+0
llvm-svn: 131765
2011-05-20Add .pdata and .xdata sections to the COFF TLOF implementation.Charles Davis1-0/+15
llvm-svn: 131763
2011-05-05Remove a flag that would set the ".eh" symbol as .globl. MachO was the only oneBill Wendling1-5/+0
who used this flag, and it now emits CFI and doesn't emit this anymore. All other targets left this flag "false". <rdar://problem/8486371> llvm-svn: 130918
2011-05-01GCC uses a different encoding of pointers in the FDE when usingRafael Espindola1-1/+1
-fno-dwarf2-cfi-asm. Implement the same behavior. llvm-svn: 130637
2011-04-27Remove unnecessary argument.Rafael Espindola1-2/+2
llvm-svn: 130343
2011-04-27Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, andRafael Espindola1-5/+42
give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. llvm-svn: 130341
2011-04-27Fix indentation.Rafael Espindola1-21/+21
llvm-svn: 130331
2011-04-20Remove unused arguments.Rafael Espindola1-4/+2
llvm-svn: 129844
2011-04-20ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OSDaniel Dunbar1-1/+1
triple component. llvm-svn: 129838
2011-04-19CodeGen: Eliminate a use of getDarwinMajorNumber().Daniel Dunbar1-11/+3
- There is a minor semantic change here (evidenced by the test change) for Darwin triples that have no version component. I debated changing the default behavior of isOSVersionLT, but decided it made more sense for triples to be explicit. llvm-svn: 129802
2011-04-16Put each personality function in a section. This fixes the gnu ld warning:Rafael Espindola1-0/+33
error in foo.o; no .eh_frame_hdr table will be created. llvm-svn: 129635
2011-03-19Reapply 127939 since Daniel fixed the breakage. <rdar://problem/9012638>Stuart Hastings1-7/+4
llvm-svn: 127944
2011-03-19Revert 127939. <rdar://problem/9012638>Stuart Hastings1-4/+7
llvm-svn: 127943
2011-03-19Revise r126127 to address Daniel's comments. <rdar://problem/9012638>Stuart Hastings1-7/+4
llvm-svn: 127939
2011-02-24Fix llvm-gcc bootstrap with gnu ld.Rafael Espindola1-0/+7
The problem was codegen guessing the wrong values and printing .section .eh_frame,"aMS",@progbits,4 It is not clear at all if Codegen should try to guess, MC is the one that should know the default flags. llvm-svn: 126421
2011-02-21Revert r125960, it's breaking darwin10 bootstrap.Eric Christopher1-4/+8
llvm-svn: 126163
2011-02-21Fix to correctly support attribute((section("__DATA, __common"))).Stuart Hastings1-1/+10
Radar 9012638. llvm-svn: 126127
2011-02-18Reapply r114997 now that the buildbots have been updated.Bill Wendling1-8/+4
llvm-svn: 125960
2011-02-14Switch llvm to using comdats. For now always use groups with a singleRafael Espindola1-23/+9
section. llvm-svn: 125526
2011-01-23Delay the creation of eh_frame so that the user can change the defaults.Rafael Espindola1-20/+23
Add support for SHT_X86_64_UNWIND. llvm-svn: 124059
2011-01-23Remove more duplicated code.Rafael Espindola1-29/+29
llvm-svn: 124056
2011-01-23Remove duplicated code.Rafael Espindola1-34/+35
llvm-svn: 124054