summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-21/+0
| | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294
* Eliminate getNamed/getUnnamedSection, adding a new and unified ↵Chris Lattner2009-07-271-1/+1
| | | | | | | | getOrCreateSection instead. llvm-svn: 77186
* Eliminate SectionFlags, just embed a SectionKind into SectionChris Lattner2009-07-271-9/+8
| | | | | | instead and drive things based off of that. llvm-svn: 77184
* untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create aChris Lattner2009-07-261-5/+4
| | | | | | | | | 'unnamed' bss section, but some impls would want a named one. Since they don't have consistent behavior, just make each target do their own thing, instead of doing something "sortof common" then having targets change immutable objects later. llvm-svn: 77165
* remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,Chris Lattner2009-07-261-14/+17
| | | | | | just use a smallstring instead. llvm-svn: 77144
* this is (unfortunately) several changes mixed together:Chris Lattner2009-07-251-2/+2
| | | | | | | | | | | | | | 1. Spell SectionFlags::Writeable as "Writable". 2. Add predicates for deriving SectionFlags from SectionKinds. 3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into ELFTargetAsmInfo. 4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the BSS bit set (the real fix for PR4619). 5. Fix isSuitableForBSS to not put globals with explicit sections set in BSS (which was the reason #4 wasn't fixed earlier). 6. Remove my previous hack for PR4619. llvm-svn: 77085
* Add interface for section override. Use this for Sparc, since it should use ↵Anton Korobeynikov2008-08-161-0/+5
| | | | | | named BSS section. llvm-svn: 54844
* Reduce heap trashing due to std::string construction / concatenation via ↵Anton Korobeynikov2008-08-161-2/+2
| | | | | | caching of section flags string representations llvm-svn: 54842
* Properly print flags on SparcAnton Korobeynikov2008-08-081-6/+5
| | | | llvm-svn: 54543
* Use mergeable strings sections on sparcAnton Korobeynikov2008-08-081-0/+1
| | | | llvm-svn: 54541
* Switch Sparc to new section handling stuff. Refactor printing of ↵Anton Korobeynikov2008-08-071-1/+21
| | | | | | module-level GVs significantly. llvm-svn: 54450
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Break out target asm info into separate files.Jim Laskey2006-09-071-0/+25
llvm-svn: 30161
OpenPOWER on IntegriCloud