aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/TargetLoweringObjectFile.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-11-14Use TARGET2 relocation for TType references on ARM.Anton Korobeynikov1-12/+12
Do some cleanup of the code while here. Inspired by patch by Logan Chien! llvm-svn: 167904
2012-10-08Move TargetData to DataLayout.Micah Villmow1-2/+2
llvm-svn: 165402
2012-05-05Typo.Eric Christopher1-1/+1
llvm-svn: 156226
2012-03-27Prune some includesCraig Topper1-1/+0
llvm-svn: 153502
2012-02-06Remove some dead code and tidy things up now that vectors use ConstantDataVectorChris Lattner1-17/+0
instead of always using ConstantVector. llvm-svn: 149912
2012-01-24C++, CBE, and TLOF support for ConstantDataSequentialChris Lattner1-5/+18
llvm-svn: 148805
2012-01-10Add 'llvm_unreachable' to passify GCC's understanding of the constraintsChandler Carruth1-0/+1
of several newly un-defaulted switches. This also helps optimizers (including LLVM's) recognize that every case is covered, and we should assume as much. llvm-svn: 147861
2012-01-10Remove unnecessary default cases in switches that cover all enum values.David Blaikie1-2/+0
llvm-svn: 147855
2011-12-02Move global variables in TargetMachine into new TargetOptions class. As an APINick Lewycky1-3/+3
change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
2011-07-20Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.Evan Cheng1-18/+2
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-27/+8
TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner1-3/+3
llvm-svn: 135375
2011-07-13Fix up TargetLoweringObjectFile ctors to properly initialize fields.Evan Cheng1-26/+26
llvm-svn: 135068
2011-06-23Use the presence of the __compact_unwind section to indicate that a targetBill Wendling1-1/+0
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-0/+1
llvm-svn: 133662
2011-06-22Add a __LD,__compact_unwind section.Bill Wendling1-0/+1
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-19Fix a FIXME by making GlobalVariable::getInitializer() return aJay Foad1-2/+2
const Constant *. llvm-svn: 133400
2011-05-05Remove a flag that would set the ".eh" symbol as .globl. MachO was the only oneBill Wendling1-1/+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-1/+1
llvm-svn: 130343
2011-04-27Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, andRafael Espindola1-5/+4
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-20Remove unused arguments.Rafael Espindola1-3/+2
llvm-svn: 129844
2011-04-16MSVC needs the return 0 to compile.Francois Pichet1-0/+1
llvm-svn: 129640
2011-04-16Put each personality function in a section. This fixes the gnu ld warning:Rafael Espindola1-0/+12
error in foo.o; no .eh_frame_hdr table will be created. llvm-svn: 129635
2011-04-15Add 129518 back with a fix for when we are producing eh just because of ↵Rafael Espindola1-1/+1
debug info. Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129571
2011-04-15Revert r129518, "Change ELF systems to use CFI for producing the EH tables. ↵NAKAMURA Takumi1-1/+1
This reduces the" It broke several builds. llvm-svn: 129557
2011-04-14Change ELF systems to use CFI for producing the EH tables. This reduces theRafael Espindola1-1/+1
size of the clang binary in Debug builds from 690MB to 679MB. llvm-svn: 129518
2011-01-23Delay the creation of eh_frame so that the user can change the defaults.Rafael Espindola1-1/+0
Add support for SHT_X86_64_UNWIND. llvm-svn: 124059
2011-01-18minor change to rafael's recent patches: if something isChris Lattner1-1/+7
constant but requires a unique address, we can still put it in a readonly section, just not a mergable one. llvm-svn: 123711
2011-01-16Only put unnamed_addr constants in mergeable sections. Fixes PR8297.Rafael Espindola1-1/+1
llvm-svn: 123585
2010-09-27the latest assembler that runs on powerpc 10.4 machines doesn'tChris Lattner1-0/+1
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-06-18Eliminate unnecessary uses of getZExtValue().Dan Gohman1-1/+1
llvm-svn: 106279
2010-04-07rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner1-1/+1
llvm-svn: 100709
2010-03-17fix GetOrCreateTemporarySymbol to require a name, clientsChris Lattner1-1/+1
should use CreateTempSymbol() if they don't care about the name. llvm-svn: 98712
2010-03-12finally give Mangler a getSymbol method, which returns an MCSymbolChris Lattner1-10/+1
for a global instead of messing around with string buffers. llvm-svn: 98366
2010-03-12make TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner1-5/+1
just make unnamed temp symbols instead of having to come up with its own names. llvm-svn: 98324
2010-03-11fix a fixme in TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner1-12/+18
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-6/+7
an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. llvm-svn: 98278
2010-03-10move three lowering hooks from MAI to TLOF and make one of themChris Lattner1-0/+4
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-1/+6
llvm-svn: 98124
2010-02-16Make error statement more personal.Bill Wendling1-1/+1
llvm-svn: 96410
2010-02-15Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov1-842/+0
llvm-svn: 96288
2010-02-15Add suffix for stubs, so we won't have name clashes with private symbols.Anton Korobeynikov1-0/+1
llvm-svn: 96286
2010-02-15Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov1-28/+89
Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
2010-01-22Simplify some uses of str(n)cmp with StringRef.Benjamin Kramer1-21/+21
llvm-svn: 94189
2010-01-19stop using the .lcomm pseudoop on darwin, instead, directly use theChris Lattner1-4/+12
.zerofill directive. Streamerize its generation. llvm-svn: 93868
2010-01-19make TLOF subclassify BSS based on linkage type into private, externalChris Lattner1-2/+7
and everything else (weak). llvm-svn: 93846
2010-01-19fix a significant difference between llvm and gcc on ELF systems:Chris Lattner1-2/+4
GCC would put weak zero initialized mutable data in the .bss section, we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits' section. Fixing this will allow simplifications next up. llvm-svn: 93844
2010-01-19introduce a section kind for common linkage. Use this to slightlyChris Lattner1-2/+6
simplify and commonize some of the asmprinter logic for globals. This also avoids printing the MCSection for .zerofill, which broke the llvm-gcc build. llvm-svn: 93843
2010-01-19Cleanup handling of .zerofill on darwin:Chris Lattner1-0/+8
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