#
ce7d1403 |
| 08-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
now that getOrCreateSection is all object-file specific, give the impls an object-file-specific name. In the future they can take different arguments etc.
llvm-svn: 78495
|
#
302041d5 |
| 08-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
sink getOrCreateSection down into all the object file implementations, now that they create *all* the sections.
llvm-svn: 78494
|
#
1ff90134 |
| 06-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Fix several fixmes and clean up code by sinking *all* section creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base c
Fix several fixmes and clean up code by sinking *all* section creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base class.
1. make getOrCreateSection protected, add a new getExplicitSectionGlobal pure virtual method to assign sections to globals with a specified section. 2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific. 3. eliminate the getKindForNamedSection virtual method, which is now just a static method for ELF. 4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16. They are now all detangled and understandable, woo! :)
llvm-svn: 78319
show more ...
|
#
cbc7b265 |
| 05-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
expose SectionKindForGlobal to curious clients, named as getKindForGlobal.
llvm-svn: 78156
|
#
f222054d |
| 04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
enhance codegen to put 16-bit character strings into the __TEXT,__ustring section on darwin.
llvm-svn: 78068
|
#
eee9df0e |
| 04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix a fixme: don't create an explicit "CStringSection" for ELF, it is just being used as a prefix, so forward substitute it directly.
llvm-svn: 78067
|
#
81bbf443 |
| 04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Add support emiting for 2/4 byte mergable strings to the ".rodata.str*" section on ELF targets.
llvm-svn: 78066
|
#
b58dc1c6 |
| 04-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
make MergeableCString be a SectionKind "abstract class", and add new concrete versions for 1/2/4-byte mergable strings.
These are not actually created yet.
llvm-svn: 78055
|
#
d2c179c8 |
| 03-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Eliminate textual section switching from the x86 backend, one more step towards "semantics sections"
llvm-svn: 78002
|
#
1472cf5b |
| 02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
move dwarf debug info section selection stuff from TAI to TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889
|
#
c784feba |
| 02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert EHFrameSection to be managed by TLOF instead of TAI.
llvm-svn: 77888
|
#
c16c75ea |
| 02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
move getDwarfExceptionSection from TAI to TLOF and rename it to getLSDASection() to be more specific. This makes it pretty obvious that the ELF LSDA section is being specified wrong in PIC mode. W
move getDwarfExceptionSection from TAI to TLOF and rename it to getLSDASection() to be more specific. This makes it pretty obvious that the ELF LSDA section is being specified wrong in PIC mode. We're probably getting a lot of startup-time relocations to a readonly page, which is expensive and bad.
Someone who cares about ELF C++ should investigate this.
llvm-svn: 77847
show more ...
|
#
4e7dfafc |
| 02-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert ctors/dtors section to be in TLOF instead of TAI.
llvm-svn: 77842
|
#
f8d9710b |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
(re)introduce new simpler apis for creation sectionkinds.
llvm-svn: 77834
|
#
0c40266b |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter compute it based on what it knows. As part of this, rename getSectionForMergeableConstant to getSectionForConstant because it works f
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter compute it based on what it knows. As part of this, rename getSectionForMergeableConstant to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping its jump tables into readonly section instead of data section in -static mode. This should be fine as the linker resolves the relocations. If this is a problem, let me know and we'll come up with another solution.
llvm-svn: 77833
show more ...
|
#
d5c01136 |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix a fixme by sinking various target-specific directives down into the appropriate subclasses.
llvm-svn: 77815
|
#
286326ed |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
coff also doesn't have a ReadOnlySection yet, (!)
llvm-svn: 77814
|
#
bc3d5f5d |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
coff doesn't set a .bss seciton, so this is dead.
llvm-svn: 77813
|
#
26fb277f |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/
llvm-svn: 77812
|
#
72c3e774 |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
don't use isWeak anymore.
llvm-svn: 77810
|
#
c9c277ba |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change SectionKind to be a property that is true of a *section*, it should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and
Change SectionKind to be a property that is true of a *section*, it should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and "ExplicitSection" bits. MCSection uses the new form of SectionKind.
To handle isWeak, I introduced a new SectionInfo class, which is SectionKind + isWeak, and it is used by the part of the code generator that does classification of a specific global.
The ExplicitSection disappears. It is moved onto MCSection as a new "IsDirective" bit. Since the Name of a section is either a section or directive, it makes sense to keep this bit in MCSection. Ultimately the creator of MCSection should canonicalize (e.g.) .text to whatever the actual section is.
llvm-svn: 77803
show more ...
|
#
95bad379 |
| 01-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
All MCSections are now required to have a SectionKind.
llvm-svn: 77787
|
#
d25701c1 |
| 31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to indicate that it is a predicate, not an emitter. This eliminates TAI dependencies on Mangler and GlobalValue.
llvm-svn: 77726
|
#
4d2c0f90 |
| 31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
switch off of 'Section' onto MCSection. We're not properly using MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708
|
#
51d5b43c |
| 31-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
refactor section construction in TLOF to be through an explicit initialize method, which can be called when an MCContext is available.
llvm-svn: 77687
|