| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This adds a detailed profile summary in llvm-profdata. The summary is in the
form of one or more triples of the form (P, N, M) which is interpreted as if
we look at the Top-N counts in the profile, their sum accounts for P percentage
of the sum of all counts in the program and the minimum count in the Top-N is M.
Differential Revision: http://reviews.llvm.org/D16005
llvm-svn: 257680
|
| |
|
|
|
|
| |
rdar://problem/22269336
llvm-svn: 257664
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This rewrites and expands the existing codeview dumping functionality in
llvm-readobj using techniques similar to those in lib/Object. This defines a
number of new records and enums useful for reading memory mapped codeview
sections in COFF objects.
The dumper is intended as a testing tool for LLVM as it grows more codeview
output capabilities.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D16104
llvm-svn: 257658
|
| |
|
|
|
|
|
|
|
|
| |
When we arrive at the end of the function, the validation of
the object has been done already. In theory, so, we should never
arrive here with something broken as the object isn't mutated.
Practice sometimes proves theory to be wrong, so leave an assertion
instead, as suggested by David Blaikie, to catch bugs.
llvm-svn: 257570
|
| |
|
|
| |
llvm-svn: 257561
|
| |
|
|
|
|
|
|
| |
This change has us print out fields we didn't previously understand. To
improve readability, we now group column information with it's
respective line.
llvm-svn: 257552
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to only print the first private header.
Which for Mach-O files only prints the Mach header and not the subsequent load
commands. Which is used by scripts to match what the darwin otool(1) with the
-h flag does without the -l flag.
For non-Mach-O files it has the same functionality as -private-headers (with
the trailing ’s’).
rdar://24158331
llvm-svn: 257548
|
| |
|
|
| |
llvm-svn: 257539
|
| |
|
|
|
|
|
|
|
| |
A request has been made to the official registry, but an official value is
not yet available. This patch uses a temporary value in order to support
development. When an official value is recieved, the value of EM_WEBASSEMBLY
will be updated.
llvm-svn: 257517
|
| |
|
|
|
|
|
|
| |
This revision breaks llvm-config if you set
BUILD_SHARED_LIBS=on in a CMake build. Backing
out until the fix is ready to land.
llvm-svn: 257457
|
| |
|
|
| |
llvm-svn: 257430
|
| |
|
|
| |
llvm-svn: 257410
|
| |
|
|
| |
llvm-svn: 257395
|
| |
|
|
| |
llvm-svn: 257391
|
| |
|
|
| |
llvm-svn: 257360
|
| |
|
|
|
|
| |
RemoteTarget.cpp was removed in r257343.
llvm-svn: 257351
|
| |
|
|
|
|
|
|
| |
The new ORC remote-JITing support provides a superset of the old code's
functionality, so we can replace the old stuff. As a bonus, a couple of
previously XFAILed tests have started passing.
llvm-svn: 257343
|
| |
|
|
|
|
| |
the upcoming remote-target support classes.
llvm-svn: 257302
|
| |
|
|
|
|
|
| |
Previously the CompileOnDemand layer was hard-coded to use a new
SectionMemoryManager for each function when it was called.
llvm-svn: 257265
|
| |
|
|
|
|
|
|
| |
around the line.
Differential Revision: http://reviews.llvm.org/D15909
llvm-svn: 257236
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D15876
llvm-svn: 257115
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
r252532 added support for reporting the monolithic library
when LLVM_BUILD_LLVM_DYLIB is used. This would only be done
if the individual components were not found, and the dynamic
library is found.
This diff extends this as follows:
- If LLVM_LINK_LLVM_DYLIB is set, then prefer the shared
library, even if all component libraries exist.
- Two flags, --link-shared and --link-static are introduced
to provide explicit guidance. If --link-shared is passed
and the shared library does not exist, an error results.
Additionally, changed the expected shared library names from
(e.g.) LLVM-3.8.0 to LLVM-3.8. The former exists only in an
installation (and then only in CMake builds I think?), and not
in the build tree; this breaks usage of llvm-config during
builds, e.g. by llvm-go.
Reviewers: DiamondLovesYou, beanz
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15033
llvm-svn: 257003
|
| |
|
|
|
|
| |
Match attribute in the header to make MSVC happy.
llvm-svn: 256560
|
| |
|
|
| |
llvm-svn: 256423
|
| |
|
|
|
|
|
|
| |
This replicates the logic of Darwin dwarfdump for manually opening up
.dSYM bundles without introducing any new dependencies.
<rdar://problem/20491670>
llvm-svn: 256350
|
| |
|
|
| |
llvm-svn: 256347
|
| |
|
|
|
|
|
|
|
| |
It turns out that his is *really* slow. With this change the link of
clang with plugin-opt=emit-llvm goes from 41 to 26 seconds.
We can add an option to enable it again if needed.
llvm-svn: 256302
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Today, we always take into account the possibility that object files
produced by MC may be consumed by an incremental linker. This results
in us initialing fields which vary with time (TimeDateStamp) which harms
hermetic builds (e.g. verifying a self-host went well) and produces
sub-optimal code because we cannot assume anything about the relative
position of functions within a section (call sites can get redirected
through incremental linker thunks).
Let's provide an MCTargetOption which controls this behavior so that we
can disable this functionality if we know a-priori that the build will
not rely on /incremental.
llvm-svn: 256203
|
| |
|
|
| |
llvm-svn: 256156
|
| |
|
|
|
|
|
| |
Ideally much more stuff should be moved out of llvm-objdump.cpp, but that
will happen later.
llvm-svn: 256118
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the support of value profiling added, the Indexed prof
reader gets less efficient. The prof reader initialization
used to be just reading the file header, but with VP support
added, initialization needs to walk through all profile keys
of ondisk hash table resulting in very poor locality and large
memory increase (keys are stored together with the profile data
in the mapped profile buffer). Even worse, when the reader is
used by the compiler (not llvm-profdata too), the penalty becomes
very high as compilation of each single module requires touching
profile data buffer for the whole program.
In this patch, the icall target values (MD5hash) are no longer eargerly
converted back to name strings when the data is read into memory. New
interface is added to to profile reader so that InstrProfSymtab can be
lazily created for Indexed profile reader on-demand. Creating of the
symtab is intended to be used by llvm-profdata tool for symbolic dumping
of VP data. It can be used with compiler (for legacy out of tree uses)
too but not recommended due to compile time and memory reasons
mentioned above.
Some other cleanups are also included: Function Addr to md5 map is now
consolated into InstrProfSymtab. InstrProfStringtab is no longer used and
eliminated.
llvm-svn: 256114
|
| |
|
|
| |
llvm-svn: 256108
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
An error that is pretty easy to make is to use the lazy bitcode reader
and then do something like
if (V.use_empty())
The problem is that uses in unmaterialized functions are not accounted
for.
This patch adds asserts that all uses are known.
llvm-svn: 256105
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This deprecates:
* LLVMParseBitcode
* LLVMParseBitcodeInContext
* LLVMGetBitcodeModuleInContext
* LLVMGetBitcodeModule
They are replaced with the functions with a 2 suffix which do not record
a diagnostic.
llvm-svn: 256065
|
| |
|
|
| |
llvm-svn: 256052
|
| |
|
|
| |
llvm-svn: 256050
|
| |
|
|
| |
llvm-svn: 256040
|
| |
|
|
|
|
|
|
| |
This inlines materializeAll into the only caller
(materializeAllPermanently) and renames materializeAllPermanently to
just materializeAll.
llvm-svn: 256024
|
| |
|
|
|
|
|
|
| |
This reverts commit r256008.
Its breaking multiple buildbots, although works for me locally.
llvm-svn: 256013
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM MC has single methods which can handle the output of EH frame and DWARF CIE's and FDE's.
This code improves DWARFDebugFrame::parse to do the same for parsing.
This also allows llvm-objdump to support the --dwarf=frames option which objdump supports. This
option dumps the .eh_frame section using the new code in DWARFDebugFrame::parse.
http://reviews.llvm.org/D15535
Reviewed by Rafael Espindola.
llvm-svn: 256008
|
| |
|
|
| |
llvm-svn: 255985
|
| |
|
|
|
|
|
|
|
| |
Type specific declarations have been moved to Type.h and error handling
routines have been moved to ErrorHandling.h. Both are included in Core.h
so nothing should change for projects directly including the headers,
but transitive dependencies may be affected.
llvm-svn: 255965
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Second patch split out from http://reviews.llvm.org/D14752.
Maps metadata as a post-pass from each module when importing complete,
suturing up final metadata to the temporary metadata left on the
imported instructions.
This entails saving the mapping from bitcode value id to temporary
metadata in the importing pass, and from bitcode value id to final
metadata during the metadata linking postpass.
Depends on D14825.
Reviewers: dexonsmith, joker.eph
Subscribers: davidxl, llvm-commits, joker.eph
Differential Revision: http://reviews.llvm.org/D14838
llvm-svn: 255909
|
| |
|
|
| |
llvm-svn: 255871
|
| |
|
|
|
|
|
| |
Passing in a std::unique_ptr should help find errors when the module
is used after being linked into another module.
llvm-svn: 255842
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Surface counter overflow when merging profile data. Merging still occurs on overflow but counts saturate to the maximum representable value. Overflow is reported to the user.
Reviewers: davidxl, dnovillo, silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15547
llvm-svn: 255825
|
| |
|
|
|
|
| |
Fixes variable name from r255779.
llvm-svn: 255824
|
| |
|
|
|
|
| |
Bootstrapping clang to generate PGO data (patches coming soon), requires llvm-profdata targets to be generated before clang.
llvm-svn: 255794
|
| |
|
|
|
|
| |
Relands r255790 with fixed tests.
llvm-svn: 255793
|
| |
|
|
|
|
| |
This reverts commit r255790.
llvm-svn: 255791
|