| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
must be emitted for PowerPC-Linux '.bss' section
llvm-svn: 78958
|
|
|
|
|
|
|
|
|
|
| |
"inlineasmstart/end" strings so that the contents of the directive
are separate from the comment character. This lets elf targets
get #APP/#NOAPP for free even if they don't use "#" as the comment
character. This also allows hoisting the darwin stuff up to the
shared TAI class.
llvm-svn: 78737
|
|
|
|
|
|
|
|
|
|
| |
version. This allows TAI implementations to specify the directive to use
based on the mode being codegen'd for.
The real fix for this is to remove JumpTableDirective, but I don't feel
like diving into the jumptable snarl just now.
llvm-svn: 78709
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
llvm-svn: 78625
|
|
|
|
|
|
|
|
|
| |
2. Move section switch printing to MCSection virtual method which takes a
TAI. This eliminates textual formatting stuff from TLOF.
3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and
TLOFELF::AtIsCommentChar.
llvm-svn: 78510
|
|
|
|
|
|
|
|
| |
A TAI hook is appropriate in this case because this is just an
asm syntax issue, not a semantic difference. TLOF should model
the semantics of the section.
llvm-svn: 78498
|
|
|
|
| |
llvm-svn: 78428
|
|
|
|
| |
llvm-svn: 78242
|
|
|
|
|
|
|
| |
the masm backend. If anyone cares about masm in the future,
we'll have semantic sections it can hang off of.
llvm-svn: 78096
|
|
|
|
|
|
| |
TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889
|
|
|
|
| |
llvm-svn: 77888
|
|
|
|
|
|
|
|
|
|
| |
the only real caller (GetFunctionSizeInBytes) uses it.
The custom ARM implementation of this is basically reimplementing
an assembler poorly for negligible gain. It should be removed
IMNSHO, but I'll leave that to ARMish folks to decide.
llvm-svn: 77877
|
|
|
|
|
|
| |
no longer depends on TM!
llvm-svn: 77863
|
|
|
|
| |
llvm-svn: 77858
|
|
|
|
|
|
| |
even considering #if 0 code.
llvm-svn: 77856
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 77820
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
implementations that need it, rearrange ELFTAI.
llvm-svn: 77236
|
|
|
|
|
|
| |
not in mergable
llvm-svn: 77210
|
|
|
|
| |
llvm-svn: 77203
|
|
|
|
|
|
|
|
| |
getOrCreateSection
instead.
llvm-svn: 77186
|
|
|
|
|
|
| |
instead and drive things based off of that.
llvm-svn: 77184
|
|
|
|
|
|
|
|
|
| |
'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
|
|
|
|
|
|
| |
just use a smallstring instead.
llvm-svn: 77144
|
|
|
|
| |
llvm-svn: 77143
|
|
|
|
|
|
| |
section specified for it or not.
llvm-svn: 77142
|
|
|
|
|
|
| |
to its classification.
llvm-svn: 77140
|
|
|
|
| |
llvm-svn: 77138
|
|
|
|
| |
llvm-svn: 77135
|
|
|
|
| |
llvm-svn: 77134
|
|
|
|
|
|
| |
simplify targets.
llvm-svn: 77132
|
|
|
|
|
|
| |
putting readonly constants in the readonly section if we have one.
llvm-svn: 77131
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
group instead of a bunch of random unrelated ideas. Provide predicates
to categorize a SectionKind into a group, and use them instead of
getKind() throughout the code.
This also renames a ton of SectionKinds to be more consistent and
evocative, and adds a huge number of comments on the enums so that
I will hopefully be able to remember how this stuff works long from
now.
llvm-svn: 77129
|
|
|
|
|
|
| |
an enum.
llvm-svn: 77096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 77084
|
|
|
|
|
|
| |
Thanks to Rafael for the great example.
llvm-svn: 77083
|
|
|
|
| |
llvm-svn: 76999
|
|
|
|
|
|
|
| |
previously virtual) function to being a static function
in the .cpp file.
llvm-svn: 76997
|
|
|
|
|
|
|
|
| |
It's classifications now include elf-specific discriminators. Targets
that don't have these features (like darwin and pecoff) simply treat
data.rel like data, etc.
llvm-svn: 76993
|
|
|
|
|
|
| |
pass it in instead of recomputing it.
llvm-svn: 76990
|
|
|
|
|
|
| |
hack.
llvm-svn: 76989
|
|
|
|
| |
llvm-svn: 76976
|
|
|
|
| |
llvm-svn: 76975
|
|
|
|
|
|
| |
into its own helper function.
llvm-svn: 76974
|
|
|
|
|
|
| |
virtual one.
llvm-svn: 76973
|