|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | and eliminate complexity.  Yay!
llvm-svn: 78243 | 
| | 
| 
| 
| | llvm-svn: 78242 | 
| | 
| 
| 
| | llvm-svn: 78154 | 
| | 
| 
| 
| 
| 
| 
| | the masm backend.  If anyone cares about masm in the future,
we'll have semantic sections it can hang off of.
llvm-svn: 78096 | 
| | 
| 
| 
| 
| 
| 
| 
| | private,
eliminate IsInTextSection.
llvm-svn: 78017 | 
| | 
| 
| 
| | llvm-svn: 78015 | 
| | 
| 
| 
| | llvm-svn: 77984 | 
| | 
| 
| 
| | llvm-svn: 77976 | 
| | 
| 
| 
| 
| 
| | TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889 | 
| | 
| 
| 
| | llvm-svn: 77888 | 
| | 
| 
| 
| 
| 
| 
| | behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.
llvm-svn: 77855 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | TAI.
llvm-svn: 77842 | 
| | 
| 
| 
| | llvm-svn: 77834 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 77821 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | to:
.quad X
even on a 32-bit system, where X is not 64-bits.  There isn't much that
we can do here, so we just print:
.quad	((X) & 4294967295)
instead.
llvm-svn: 77818 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 77754 | 
| | 
| 
| 
| 
| 
| 
| | need the PreferredEHDataFormat hook, but I have yet-more refactoring to
do before I can zap it.
llvm-svn: 77742 | 
| | 
| 
| 
| 
| 
| | have no functionality change.
llvm-svn: 77741 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.
Add some better comments and eliminate redundant code.
Fix some testcases to not assume tabs.
llvm-svn: 77740 | 
| | 
| 
| 
| 
| 
| 
| | thing is #if0'd out anyway.  Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.
llvm-svn: 77736 | 
| | 
| 
| 
| 
| 
| 
| | indicate that it is a predicate, not an emitter.  This eliminates TAI
dependencies on Mangler and GlobalValue.
llvm-svn: 77726 | 
| | 
| 
| 
| 
| 
| | MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708 | 
| | 
| 
| 
| 
| 
| | initialize method, which can be called when an MCContext is available.
llvm-svn: 77687 | 
| | 
| 
| 
| | llvm-svn: 77621 | 
| | 
| 
| 
| | llvm-svn: 77505 | 
| | 
| 
| 
| 
| 
| | No functionality change.
llvm-svn: 77432 | 
| | 
| 
| 
| | llvm-svn: 77412 | 
| | 
| 
| 
| 
| 
| 
| | correct. But what are you going to do? I'll fix this in the future.
- Move another large loop into its own method.
llvm-svn: 77408 | 
| | 
| 
| 
| 
| 
| | Does any one else hate the name "const_reverse_iterator" as much as I do?
llvm-svn: 77399 | 
| | 
| 
| 
| | llvm-svn: 77394 | 
| | 
| 
| 
| 
| 
| | change.
llvm-svn: 77393 | 
| | 
| 
| 
| 
| 
| | going to emit.
llvm-svn: 77382 | 
| | 
| 
| 
| | llvm-svn: 77373 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | MCSections soon instead of Section for all targets, and we need something to
own them.
llvm-svn: 77252 | 
| | 
| 
| 
| 
| 
| | instead and drive things based off of that.
llvm-svn: 77184 | 
| | 
| 
| 
| | llvm-svn: 77152 | 
| | 
| 
| 
| 
| 
| | just use a smallstring instead.
llvm-svn: 77144 | 
| | 
| 
| 
| 
| 
| | to its classification.
llvm-svn: 77140 | 
| | 
| 
| 
| | llvm-svn: 77138 | 
| | 
| 
| 
| | llvm-svn: 77137 | 
| | 
| 
| 
| | llvm-svn: 77134 | 
| | 
| 
| 
| 
| 
| | Also, change MDString to use a StringRef.
llvm-svn: 77098 | 
| | 
| 
| 
| | llvm-svn: 76970 | 
| | 
| 
| 
| 
| 
| | eliminating isNamed.
llvm-svn: 76946 | 
| | 
| 
| 
| | llvm-svn: 76780 | 
| | 
| 
| 
| 
| 
| 
| 
| | a new getSectionForMergableConstant hook.  This removes one dependence
of TAI on Type, and provides the hook with enough info to make the 
right decision based on whether the global has relocations etc.
llvm-svn: 76705 |