| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
r260146 | xur | 2016-02-08 13:07:46 -0800 (Mon, 08 Feb 2016) | 13 lines
[PGO] Differentiate Clang instrumentation and IR level instrumentation profiles
llvm-svn: 260170
|
|
|
|
| |
llvm-svn: 260166
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch uses one bit in profile version to differentiate Clang
instrumentation and IR level instrumentation profiles.
PGOInstrumenation generates a COMDAT variable __llvm_profile_raw_version so
that the compiler runtime can set the right profile kind.
PGOInstrumenation now checks this bit to make sure it's an IR level
instrumentation profile.
Differential Revision: http://reviews.llvm.org/D15540
llvm-svn: 260146
|
|
|
|
|
|
| |
This is almost feature complete - just missing tu_index merging now.
llvm-svn: 259971
|
|
|
|
|
|
|
| |
a significant fraction of the file size (for files that otherwise have few
records). Also include an average size per record in the summary information.
llvm-svn: 259965
|
|
|
|
|
|
| |
Thanks to David Blaikie for pointing this out!
llvm-svn: 259938
|
|
|
|
|
|
|
| |
This is more uniform wrt what other tools do and makes the code
a little bit more readable.
llvm-svn: 259937
|
|
|
|
| |
llvm-svn: 259917
|
|
|
|
| |
llvm-svn: 259904
|
|
|
|
|
|
|
|
|
| |
This makes it less likely to clash with other stuff that might be linked
in by change, e.g. ncurses exposes an external function called simply
"echo", so linking ncurses statically into the binary explodes in funny
ways.
llvm-svn: 259882
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This diff increase the tested surface of the C API.
Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16910
llvm-svn: 259863
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: As per title. It is required and don't get linked in in some builds.
Reviewers: chapuni, joker.eph
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16903
llvm-svn: 259853
|
|
|
|
|
|
|
|
|
|
| |
Summary computation is not just for instrumented profiling and so I have moved
the ProfileSummary class to ProfileCommon.h (named so to allow code unrelated
to summary but common to instrumented and sampled profiling to be placed there)
Differential Revision: http://reviews.llvm.org/D16661
llvm-svn: 259846
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This basically add an echo test case in C. The support is limited right now, but full support would just be too much to review at once.
The echo test case simply get a module as input and try to output the same exact module. This allow to check the both reading and writing API are working as expected.
I want to improve this test over time to support more and more of the API, in order to improve coverage (coverage is quite poor right now).
Test Plan: Run the test.
Reviewers: chandlerc, bogner
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10725
llvm-svn: 259844
|
|
|
|
| |
llvm-svn: 259806
|
|
|
|
| |
llvm-svn: 259805
|
|
|
|
| |
llvm-svn: 259804
|
|
|
|
| |
llvm-svn: 259723
|
|
|
|
| |
llvm-svn: 259719
|
|
|
|
| |
llvm-svn: 259578
|
|
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D16793
llvm-svn: 259539
|
|
|
|
|
|
|
|
| |
This directive emits the binary annotations that describe line and code
deltas in inlined call sites. Single-stepping through inlined frames in
windbg now works.
llvm-svn: 259535
|
|
|
|
|
|
| |
Fix a style violation while I'm here.
llvm-svn: 259391
|
|
|
|
|
|
|
|
|
| |
Noticed while working on scattered relocations.
I do not think these relocs can actually happen in the debug_info section,
but if they happen the code would mishandle them. Explicitely skip them
and warn if we encounter one.
llvm-svn: 259341
|
|
|
|
|
|
|
|
|
|
| |
Although it seems like clang will never emit scattered relocations in
the debug information (at least I couldn't find a way), we have too
support them for the benefit of other compilers.
As clang doesn't generate them, the included testcase was produced
from hacked up assembly.
llvm-svn: 259339
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm-dsymutil was misinterpreting the value of common symbols as their
address when it actually contains their size. This didn't impact
llvm-dsymutil's ability to link the debug information for common symbols
because these are always found by name and not by address. Things could
however go wrong when the size of a common object matched the object
file address of another symbol. Depending on the link order of the symbols
the common object might incorrectly evict this other object from the
address to symbol mapping, and then link the evicted symbol with a wrong
binary address.
Use the new ability to have symbols without an object file address to fix
this.
llvm-svn: 259318
|
|
|
|
|
|
|
|
|
|
|
| |
This change just changes the data structure that ties symbol names,
object file address and linked binary addresses to accept mappings
with no object file address. Such symbol mappings are not fed into
the debug map yet, so this patch is NFC.
A subsequent patch will make use of this functionality for common
symbols.
llvm-svn: 259317
|
|
|
|
|
|
|
| |
These sets perform linear searching in small mode so it is never a good
idea to use SmallSize/N bigger than 32.
llvm-svn: 259283
|
|
|
|
| |
llvm-svn: 259266
|
|
|
|
|
|
|
|
|
|
| |
Add an option to llvm-profdata merge for writing out sparse indexed
profiles. These profiles omit InstrProfRecords for functions which are
never executed.
Differential Revision: http://reviews.llvm.org/D16727
llvm-svn: 259258
|
|
|
|
|
|
| |
Bug pointed out by George Rimar.
llvm-svn: 259205
|
|
|
|
|
|
|
|
|
|
| |
This patch enables llvm-bcanalyzer to print the bitcode wrapper header
if the file has one, which is needed to test the changes made in
r258627 (bitcode-wrapper-header-armv7m.ll is the test case for r258627).
Differential Revision: http://reviews.llvm.org/D16642
llvm-svn: 259162
|
|
|
|
|
|
|
|
| |
This reverts commit r259126 and relands r259117.
This time with updated library dependencies.
llvm-svn: 259130
|
|
|
|
|
|
|
|
|
| |
This reverts commit r259117.
The LineInfo constructor is defined in the codeview library and we have
to link against it now. Doing that isn't trivial, so reverting for now.
llvm-svn: 259126
|
|
|
|
|
|
|
|
| |
Prior to r259115 this was coming via LTOModule.h and MCContext.h.
Apparently this target is not built by 'check'. =(
llvm-svn: 259124
|
|
|
|
| |
llvm-svn: 259123
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new family of .cv_* directives to LLVM's variant of GAS syntax:
- .cv_file: Similar to DWARF .file directives
- .cv_loc: Similar to the DWARF .loc directive, but starts with a
function id. CodeView line tables are emitted by function instead of
by compilation unit, so we needed an extra field to communicate this.
Rather than overloading the .loc direction further, we decided it was
better to have our own directive.
- .cv_stringtable: Emits the codeview string table at the current
position. Currently this just contains the filenames as
null-terminated strings.
- .cv_filechecksums: Emits the file checksum table for all files used
with .cv_file so far. There is currently no support for emitting
actual checksums, just filenames.
This moves the line table emission code down into the assembler. This
is in preparation for implementing the inlined call site line table
format. The inline line table format encoding algorithm requires knowing
the absolute code offsets, so it must run after the assembler has laid
out the code.
David Majnemer collaborated on this patch.
llvm-svn: 259117
|
|
|
|
|
|
|
|
| |
We already perform it at the beginning of the function so we can't
arrive here with an invalid object. Also, add a test so that bugs
won't sneak in the future.
llvm-svn: 258982
|
|
|
|
| |
llvm-svn: 258974
|
|
|
|
|
|
| |
A lot of this comes from the new complete type requirement of DenseMap.
llvm-svn: 258956
|
|
|
|
|
|
|
| |
It depends on the target machinery, that's not available for
instrumentation passes.
llvm-svn: 258942
|
|
|
|
| |
llvm-svn: 258928
|
|
|
|
| |
llvm-svn: 258917
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html
"I felt a great disturbance in the [build system], as if millions of [makefiles] suddenly cried out in terror and were suddenly silenced. I fear something [amazing] has happened."
- Obi Wan Kenobi
Reviewers: chandlerc, grosbach, bob.wilson, tstellarAMD, echristo, whitequark
Subscribers: chfast, simoncook, emaste, jholewinski, tberghammer, jfb, danalbert, srhines, arsenm, dschuff, jyknight, dsanders, joker.eph, llvm-commits
Differential Revision: http://reviews.llvm.org/D16471
llvm-svn: 258861
|
|
|
|
| |
llvm-svn: 258856
|
|
|
|
| |
llvm-svn: 258854
|
|
|
|
| |
llvm-svn: 258846
|
|
|
|
|
|
|
|
|
| |
Adds a way to inspect SHT_GROUP sections in ELF objects.
Displays signature, member sections of these sections.
Differential revision: http://reviews.llvm.org/D16555
llvm-svn: 258845
|
|
|
|
| |
llvm-svn: 258837
|
|
|
|
|
|
|
|
| |
other minor fixes.
Differential revision: reviews.llvm.org/D16568
llvm-svn: 258831
|