summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetLoweringObjectFile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* the latest assembler that runs on powerpc 10.4 machines doesn'tChris Lattner2010-09-271-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
* Eliminate unnecessary uses of getZExtValue().Dan Gohman2010-06-181-1/+1
| | | | llvm-svn: 106279
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100709
* fix GetOrCreateTemporarySymbol to require a name, clientsChris Lattner2010-03-171-1/+1
| | | | | | | should use CreateTempSymbol() if they don't care about the name. llvm-svn: 98712
* finally give Mangler a getSymbol method, which returns an MCSymbolChris Lattner2010-03-121-10/+1
| | | | | | for a global instead of messing around with string buffers. llvm-svn: 98366
* make TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner2010-03-121-5/+1
| | | | | | | just make unnamed temp symbols instead of having to come up with its own names. llvm-svn: 98324
* fix a fixme in TargetLoweringObjectFile::getExprForDwarfReferenceChris Lattner2010-03-111-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
* rename getSymbolForDwarf* to getExprForDwarf* since it returnsChris Lattner2010-03-111-6/+7
| | | | | | | | | an MCExpr and not an MCSymbol. Change it to take an MCStreamer, which is currently unused. No functionality change. llvm-svn: 98278
* move three lowering hooks from MAI to TLOF and make one of themChris Lattner2010-03-101-0/+4
| | | | | | | semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-101-1/+6
| | | | llvm-svn: 98124
* Make error statement more personal.Bill Wendling2010-02-161-1/+1
| | | | llvm-svn: 96410
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-151-842/+0
| | | | llvm-svn: 96288
* Add suffix for stubs, so we won't have name clashes with private symbols.Anton Korobeynikov2010-02-151-0/+1
| | | | llvm-svn: 96286
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-151-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
* Simplify some uses of str(n)cmp with StringRef.Benjamin Kramer2010-01-221-21/+21
| | | | llvm-svn: 94189
* stop using the .lcomm pseudoop on darwin, instead, directly use theChris Lattner2010-01-191-4/+12
| | | | | | .zerofill directive. Streamerize its generation. llvm-svn: 93868
* make TLOF subclassify BSS based on linkage type into private, externalChris Lattner2010-01-191-2/+7
| | | | | | and everything else (weak). llvm-svn: 93846
* fix a significant difference between llvm and gcc on ELF systems:Chris Lattner2010-01-191-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
* introduce a section kind for common linkage. Use this to slightlyChris Lattner2010-01-191-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
* Cleanup handling of .zerofill on darwin:Chris Lattner2010-01-191-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
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-171-10/+3
| | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. llvm-svn: 93690
* move the mangler into libtarget from vmcore.Chris Lattner2010-01-161-1/+2
| | | | llvm-svn: 93664
* fix build failure.Chris Lattner2010-01-161-1/+1
| | | | llvm-svn: 93628
* remove a couple of actively incorrect uses of getMangledName.Chris Lattner2010-01-161-1/+2
| | | | llvm-svn: 93627
* fix ELF section mangling stuff for weak symbols to not useChris Lattner2010-01-131-9/+11
| | | | | | obsolete Mangler interfaces. llvm-svn: 93356
* Use the GV version of getNameWithPrefix in TargetLoweringObjectFileCOFF::Chris Lattner2010-01-131-1/+1
| | | | | | SelectSectionForGlobal, unbreaking weak globals with no-name. llvm-svn: 93336
* add a fixme, ELF MCSection isn't quite right and weak unnamed globals are brokenChris Lattner2010-01-131-0/+4
| | | | | | on linux (even though they are pointless, they shouldn't ICE). llvm-svn: 93308
* eliminate some uses of Mangler::makeNameProper.Chris Lattner2010-01-131-1/+1
| | | | llvm-svn: 93305
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-11/+13
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* We need to put any kind of data with a relocation into aEric Christopher2010-01-071-1/+1
| | | | | | not-readonly segment on darwin. llvm-svn: 92933
* Reverting the EH table patches.Bill Wendling2009-11-191-2/+2
| | | | | | | | | | | | | $ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89279 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/Target/TargetLoweringObjectFile.cpp $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89270 into '.': G lib/CodeGen/AsmPrinter/DwarfException.cpp G lib/Target/TargetLoweringObjectFile.cpp llvm-svn: 89379
* The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EHBill Wendling2009-11-191-1/+1
| | | | | | exception table than DataRel. llvm-svn: 89279
* Attempt #2:Bill Wendling2009-11-181-1/+1
| | | | | | Place the EH table in the __TEXT section on MachO. It saves space. llvm-svn: 89270
* add some missing #includesChris Lattner2009-11-071-2/+3
| | | | llvm-svn: 86367
* Pass StringRef by value.Daniel Dunbar2009-11-061-1/+1
| | | | llvm-svn: 86251
* --- Reverse-merging r82282 into '.':Bill Wendling2009-09-201-5/+0
| | | | | | | | | | | | | U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/CodeGen/AsmPrinter/DwarfException.h --- Reverse-merging r82274 into '.': U lib/Target/TargetLoweringObjectFile.cpp G lib/CodeGen/AsmPrinter/DwarfException.cpp These revisions were breaking everything. llvm-svn: 82396
* Still one more thing wrong here...Bill Wendling2009-09-201-0/+5
| | | | llvm-svn: 82356
* Here's fun! It turns out that these filter functions can be internal. If they'reBill Wendling2009-09-201-6/+0
| | | | | | | | internal, they shouldn't use the indirect pointer stuff. In the case of throw_rethrow_test, it was marked as 'internal' and calculated its own offset to its contents. llvm-svn: 82354
* Revert r82274. It's causing failures in the CINT2006 benchmarks.Bill Wendling2009-09-191-0/+6
| | | | llvm-svn: 82336
* It's inefficient to have place the exception tables (which contain the LSDA)Bill Wendling2009-09-181-2/+2
| | | | | | | | | into the __DATA section. At launch time, dyld has to update most of the section to fix up the type info pointers. It's better to place it into the __TEXT section and use pc-rel indirect pointer encodings. Similar to the personality routine. llvm-svn: 82274
* pass machinemoduleinfo down into getSymbolForDwarfGlobalReference, Chris Lattner2009-09-171-0/+2
| | | | | | currently unused. llvm-svn: 82157
* Big change #1 for personality function references:Chris Lattner2009-09-161-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Provide proper section flags for various BSS flavoursAnton Korobeynikov2009-09-091-1/+5
| | | | llvm-svn: 81322
* Whitespace cleanupAnton Korobeynikov2009-09-091-163/+162
| | | | llvm-svn: 81321
* Simplify.Daniel Dunbar2009-08-261-3/+3
| | | | llvm-svn: 80176
* fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sectionsChris Lattner2009-08-181-0/+8
| | | | llvm-svn: 79346
* Text sections should have 'exec' flag set. This seems to unbreak libstdc++ ↵Anton Korobeynikov2009-08-181-0/+3
| | | | | | | | on linux. Patch by Dmitry Gorbachev! llvm-svn: 79334
* Clear the uniquing table when initializing TLOF to avoid a crash when the ↵Benjamin Kramer2009-08-171-0/+6
| | | | | | TLOF is reinitialized with a different MCContext. llvm-svn: 79253
* Update getSectionForConstant() to to allow mergable sections to be nulled outRichard Osborne2009-08-171-3/+3
| | | | | | if not supported by the ELF subtarget. llvm-svn: 79249
* the .eh_frame sections we generate need to be writable (whichChris Lattner2009-08-151-1/+2
| | | | | | | is why they are datarel). This should fix PR4724, and is fallout from r78890. llvm-svn: 79111
OpenPOWER on IntegriCloud