aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/TargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add interface for section override. Use this for Sparc, since it should use ↵Anton Korobeynikov2008-08-161-4/+6
| | | | | | named BSS section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54844 91177308-0d34-0410-b5e6-96231b3b80d8
* Move SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. ↵Anton Korobeynikov2008-08-161-0/+23
| | | | | | This makes JIT asmprinter-free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54843 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce heap trashing due to std::string construction / concatenation via ↵Anton Korobeynikov2008-08-161-1/+14
| | | | | | caching of section flags string representations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54842 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo most of r54519.Evan Cheng2008-08-081-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54534 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not legal to output a GV in a coalesced section if it's used in an ARM ↵Evan Cheng2008-08-081-4/+4
| | | | | | PIC relative constantpool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54519 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide convenient helpersAnton Korobeynikov2008-08-071-8/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54451 91177308-0d34-0410-b5e6-96231b3b80d8
* Select section for constant pool entriesAnton Korobeynikov2008-08-071-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54448 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide default implementation of different small-sections related stuffAnton Korobeynikov2008-07-221-3/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53920 91177308-0d34-0410-b5e6-96231b3b80d8
* Basic support for small sectionsBruno Cardoso Lopes2008-07-221-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53907 91177308-0d34-0410-b5e6-96231b3b80d8
* TargetAsmInfo::SectionForGlobal showed up in a profile. Simplify it a little.Dan Gohman2008-07-151-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53639 91177308-0d34-0410-b5e6-96231b3b80d8
* Use only 'subset' of flagsAnton Korobeynikov2008-07-091-11/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53323 91177308-0d34-0410-b5e6-96231b3b80d8
* First sketch of special section objectsAnton Korobeynikov2008-07-091-22/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53320 91177308-0d34-0410-b5e6-96231b3b80d8
* Use isWeakForLinker() hookAnton Korobeynikov2008-07-091-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53318 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix several bugs in named sections handlingAnton Korobeynikov2008-07-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53312 91177308-0d34-0410-b5e6-96231b3b80d8
* Add hacky way to distinguish named and named sections. This will be ↵Anton Korobeynikov2008-07-091-41/+46
| | | | | | generalized in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53311 91177308-0d34-0410-b5e6-96231b3b80d8
* Use 'gnu.linkonce', where neededAnton Korobeynikov2008-07-091-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53310 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix thinkoAnton Korobeynikov2008-07-091-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53309 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide section selection for X86 ELF targetsAnton Korobeynikov2008-07-091-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53305 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide general hook for section name calculationAnton Korobeynikov2008-07-091-4/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53304 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle linkonce stuffAnton Korobeynikov2008-07-091-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53296 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide skeletone code for calculation of section, where global should be ↵Anton Korobeynikov2008-07-091-1/+1
| | | | | | emitted into git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53295 91177308-0d34-0410-b5e6-96231b3b80d8
* Use 'llvm-linkonce' consistentlyAnton Korobeynikov2008-07-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53294 91177308-0d34-0410-b5e6-96231b3b80d8
* Add default section name resolution routineAnton Korobeynikov2008-07-091-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53292 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstifyAnton Korobeynikov2008-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53291 91177308-0d34-0410-b5e6-96231b3b80d8
* Add code for default section falgs computationAnton Korobeynikov2008-07-091-0/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53290 91177308-0d34-0410-b5e6-96231b3b80d8
* Linux also does not require exception handlingDuncan Sands2008-07-041-1/+0
| | | | | | | | | | moves in order to get correct debug info. Since I can't imagine how any target could possibly be any different, I've just stripped out the option: now all the world's like Darwin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53134 91177308-0d34-0410-b5e6-96231b3b80d8
* Darwin doesn't need exception handling information for the "move" info whenBill Wendling2008-07-011-0/+1
| | | | | | | debug information is being output, because it's leet! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52994 91177308-0d34-0410-b5e6-96231b3b80d8
* Start refactoring of asmprinters: provide a TAI hook, which will select a ↵Anton Korobeynikov2008-06-281-0/+49
| | | | | | 'section kind' for a global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52868 91177308-0d34-0410-b5e6-96231b3b80d8
* Add StringConstantPrefix to control what theDale Johannesen2008-06-031-0/+1
| | | | | | | | assembler names of string constants look like. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51909 91177308-0d34-0410-b5e6-96231b3b80d8
* Output correct exception handling and frame infoDuncan Sands2008-05-071-1/+0
| | | | | | | | | | | | | | | | | | | on x86-64 linux. This causes no regressions on 32 bit linux and 32 bit ppc. More tests pass on 64 bit ppc with no regressions. I didn't turn on eh on 64 bit linux because the intrinsics needed to compile the eh runtime aren't done yet. But if you turn it on and link with the mainline runtime then eh seems to work fine on x86-64 linux with this patch. Thanks to Dale for testing. The main point of the patch is that if you output that some object is encoded using 4 bytes you had better not output 8 bytes for it: the patch makes everything consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50825 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AsmPrinter support for emitting a directive to declare thatDan Gohman2008-05-051-0/+1
| | | | | | | | | | the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50634 91177308-0d34-0410-b5e6-96231b3b80d8
* Use enumeration for preffered EH dwarf encoding reasonAnton Korobeynikov2008-02-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47770 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize TextAlignFillValue. Fix revision 47703.Lauro Ramos Venancio2008-02-281-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47732 91177308-0d34-0410-b5e6-96231b3b80d8
* Preparation step for some cleanup/generalization in EH information emission:Anton Korobeynikov2008-02-271-0/+6
| | | | | | | provide TAI hook for selection of EH data emission format. Currently unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47699 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed file from previous checkin.Dale Johannesen2008-01-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46030 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit unused EH frames for weak definitions on Darwin,Dale Johannesen2008-01-101-0/+1
| | | | | | | | | because assembler/linker can't cope with weak absolutes. PR 1880. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45811 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
* Setting GlobalDirective in TargetAsmInfo by default rather thanGordon Henriksen2007-12-231-1/+1
| | | | | | | | providing a misleading facility. It's used once in the MIPS backend and hardcoded as "\t.globl\t" everywhere else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45338 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compiler warning.Dale Johannesen2007-11-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44261 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix .eh table linkage issues on Darwin. Some EH supportDale Johannesen2007-11-201-0/+2
| | | | | | | | for Darwin PPC, but it's not fully working yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44258 91177308-0d34-0410-b5e6-96231b3b80d8
* TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targetsDan Gohman2007-09-271-1/+0
| | | | | | | | | other than PPC64. Instead of fixing it, just remove it and fix all the places that use it to use TargetData::getPointerSize() instead, as there aren't very many. Most of the references were in DwarfWriter.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42419 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge hasDotLoc and hasDotFile into hasDotLocAndDotFile since .loc and .fileDan Gohman2007-09-241-2/+1
| | | | | | | aren't really usable without each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42274 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bool to indicate if we should set the "indirect encoding" bit in the DwarfBill Wendling2007-09-111-0/+1
| | | | | | | | information for EH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41852 91177308-0d34-0410-b5e6-96231b3b80d8
* The personality function on Darwin needs a global stub. We then refer toBill Wendling2007-09-111-0/+2
| | | | | | | | that global stub instead of doing the ".set" thingy we were doing before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41838 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate some redundant newlines in asm output.Dan Gohman2007-06-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37574 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit sections/directives in the proper order. This fixes PR1376. Also,Anton Korobeynikov2007-05-051-0/+1
| | | | | | | some small cleanup was made. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36780 91177308-0d34-0410-b5e6-96231b3b80d8
* Indent the .text, .data, and .bss directives in assembly output, so thatDan Gohman2007-05-031-3/+3
| | | | | | | they are consistent with the other directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36687 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix couple of bugs connected with eh info:Anton Korobeynikov2007-05-011-1/+2
| | | | | | | | 1. Correct output offsets on Linux 2. Fix "style" of personality function. It shouldn't be indirect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36633 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement protected visibility. This partly implements PR1363. LinkerAnton Korobeynikov2007-04-291-0/+1
| | | | | | | should be taught to deal with protected symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36565 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix generic getInlineAsmLengthDale Johannesen2007-04-231-4/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36369 91177308-0d34-0410-b5e6-96231b3b80d8