| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 76972
|
|
|
|
|
|
| |
when we have a global with no section explicitly specified.
llvm-svn: 76971
|
|
|
|
| |
llvm-svn: 76967
|
|
|
|
|
|
| |
implementation, eliminating a dupe.
llvm-svn: 76953
|
|
|
|
|
|
|
|
| |
The later doesn't depend on any crazy LLVM IR stuff, and this
pulls the concatenation of prefix with GV name (the root problem behind
PR4584) out one level.
llvm-svn: 76948
|
|
|
|
| |
llvm-svn: 76941
|
|
|
|
| |
llvm-svn: 76937
|
|
|
|
|
|
| |
a sad mistake that is regretted. :)
llvm-svn: 76935
|
|
|
|
|
|
| |
a better solution for it in the future.
llvm-svn: 76818
|
|
|
|
|
|
|
| |
simplification.
- NFC
llvm-svn: 76789
|
|
|
|
| |
llvm-svn: 76778
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Constant::getRelocationInfo(), which has a much simpler
to use API. It still should not be part of libvmcore, but
is better than it was. Also teach it to be smart about
hidden visibility.
llvm-svn: 76700
|
|
|
|
| |
llvm-svn: 76689
|
|
|
|
|
|
|
| |
virtual. Just inline it into its two current call sites in preparation
for simplifying the code.
llvm-svn: 76686
|
|
|
|
| |
llvm-svn: 76645
|
|
|
|
|
|
| |
LLVM IR concept.
llvm-svn: 76590
|
|
|
|
| |
llvm-svn: 76587
|
|
|
|
|
|
| |
next.
llvm-svn: 76486
|
|
|
|
|
|
| |
significant debate about its efficiency.
llvm-svn: 76279
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
starting in getCurrentFunctionEHName. Among other problems,
we would try to privative a "foo.eh" label, but end up emitting
the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really
bad, and the linker has always tolerated these labels existing.
For now, just emit them as _foo.eh.
This patch also fixes problems with ".eh" labels on unnamed
functions and eliminates two strangely defined TargetAsmInfo
hooks.
llvm-svn: 76231
|
|
|
|
|
|
|
| |
No target uses this currently. This patch only adds the mechanism so
that local installations can choose to enable this.
llvm-svn: 76177
|
|
|
|
|
|
| |
(llvm-gcc) has gone.
llvm-svn: 75781
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
| |
llvm-svn: 75508
|
|
|
|
|
|
|
|
|
|
|
| |
We'll eventually use this to print comments in asm files and do other
fun things.
This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate. It also add parameters to
TargetAsmInfo to control comment layout.
llvm-svn: 75490
|
|
|
|
|
|
|
|
|
| |
Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
|
|
|
|
| |
into DarwinTargetAsmInfo.cpp. The remaining differences should
be evaluated. It seems strange that x86/arm has .zerofill but ppc
doesn't, etc.
llvm-svn: 73742
|
|
|
|
| |
llvm-svn: 73738
|
|
|
|
| |
llvm-svn: 73736
|
|
|
|
|
|
| |
Now debug_inlined section is covered by TAI->doesDwarfUsesInlineInfoSection(), which is false by default.
llvm-svn: 68964
|
|
|
|
|
|
|
| |
from the assembler:
Error: unknown pseudo-op: `.debug_inlined'
llvm-svn: 68863
|
|
|
|
|
|
|
|
| |
collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.)
Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section.
llvm-svn: 68847
|
|
|
|
|
|
| |
simplifies code and also ensures correctness.
llvm-svn: 68032
|
|
|
|
| |
llvm-svn: 68031
|