| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit r250239.
It seems unwanted changes got committed here, and part of
the patch does not seem correct.
For instance RoundUpToAlignment() is called without its returned
value actually used.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 250882
|
| |
|
|
|
|
|
|
| |
This is the last of the implicit ilist iterator conversions in LLVM.
Still up for debate whether we let these bitrot back:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/091617.html
llvm-svn: 250852
|
| |
|
|
| |
llvm-svn: 250842
|
| |
|
|
| |
llvm-svn: 250805
|
| |
|
|
|
|
| |
Implemented suggestion by dblakie in review for r250704.
llvm-svn: 250723
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory, rather than representing the stubs in IR. Update the CompileOnDemand
layer to use this functionality.
Directly emitting stubs is much cheaper than building them in IR and codegen'ing
them (see below). It also plays well with remote JITing - stubs can be emitted
directly in the target process, rather than having to send them over the wire.
The downsides are:
(1) Care must be taken when resolving symbols, as stub symbols are held in a
separate symbol table. This is only a problem for layer writers and other
people using this API directly. The CompileOnDemand layer hides this detail.
(2) Aliases of function stubs can't be symbolic any more (since there's no
symbol definition in IR), but must be converted into a constant pointer
expression. This means that modules containing aliases of stubs cannot be
cached. In practice this is unlikely to be a problem: There's no benefit to
caching such a module anyway.
On balance I think the extra performance is more than worth the trade-offs: In a
simple stress test with 10000 dummy functions requiring stubs and a single
executed "hello world" main function, directly emitting stubs reduced user time
for JITing / executing by over 90% (1.5s for IR stubs vs 0.1s for direct
emission).
llvm-svn: 250712
|
| |
|
|
| |
llvm-svn: 250704
|
| |
|
|
|
|
| |
This should fix the mingw3 bot failure.
llvm-svn: 250703
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds support to llvm-lto that mirrors the support added by
r249270 to the gold plugin. This enables better testing of combined
index generation for ThinLTO.
Added a new test, and this support will be used in the test in D13515.
Reviewers: joker.eph
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13847
llvm-svn: 250699
|
| |
|
|
| |
llvm-svn: 250642
|
| |
|
|
|
|
|
|
| |
This avoids problems with different (u)intXX definition on different
platforms. Specifically this fixes a case on OS/X which had uint64_t
defined as unsigned long long.
llvm-svn: 250589
|
| |
|
|
| |
llvm-svn: 250585
|
| |
|
|
|
|
|
|
| |
This lets us make guesses about symbols in third party DLLs without
debug info, like MSVCR120.dll or kernel32.dll. dbghelp does the same
thing.
llvm-svn: 250582
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13824
llvm-svn: 250575
|
| |
|
|
| |
llvm-svn: 250464
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xcodebuild and xcrun can search
Summary:
Sometimes you want to install a custom compiler and use it like the system compiler without overriding the system compiler. This patch lets you create xctoolchains that the darwin command line tools can use.
To use this patch set LLVM_CREATE_XCODE_TOOLCHAIN=On in your CMake invocation and build the `install-code-toolchain` target.
After installation you can set the envar EXTERNAL_TOOLCHAINS_DIR to your installed Toolchains directory, and the TOOLCHAINS envar to the toolchain identifier (ex org.llvm.3.8.0svn). This will then cause /usr/bin/clang to call your newly installed clang.
Reviewers: Bigcheese, bogner
Subscribers: tobiasfar, llvm-commits
Differential Revision: http://reviews.llvm.org/D13605
llvm-svn: 250450
|
| |
|
|
| |
llvm-svn: 250386
|
| |
|
|
| |
llvm-svn: 250385
|
| |
|
|
|
|
|
|
| |
<windows.h> defines macros named min and max in conflict with
<algorithm>. Prevent macro expansion by wrapping std::min in
parenthesis.
llvm-svn: 250383
|
| |
|
|
|
|
|
|
|
| |
A PDB can be thought of as a very simple file system. It is
occasionally illuminating to see the contents of the underlying files.
Differential Revision: http://reviews.llvm.org/D13674
llvm-svn: 250356
|
| |
|
|
|
|
| |
... so this comment is stale. Remove it. Range-loopify while here.
llvm-svn: 250354
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
TrivialMemoryManager currently doesn't check the return type of AllocateRWX --
and returns a 'null' MemoryBlock to its caller. As pointed out by Lang,
this exposes some serious issues with the MemoryManager interface. There's,
in fact, no way to report back an error to clients rather than aborting in
case memory can't be allocated. Eventually the interface will grow to support
this, but for now, fail sooner rather than later.
Differential Revision: http://reviews.llvm.org/D13627
llvm-svn: 250350
|
| |
|
|
|
|
|
|
|
|
| |
We now use clang by default and fallback to gcc when requested.
With this commit, names reflect reality. No functional change
intended.
Discussed with: Rafael Espindola.
llvm-svn: 250321
|
| |
|
|
|
|
|
|
|
|
| |
We now rely on gcc only if either of the following is true:
1) -gcc option is passed by the user
2) clang is not found in the default path.
Differential Revision: http://reviews.llvm.org/D13642
llvm-svn: 250318
|
| |
|
|
|
|
|
|
| |
Add a new command line switch, -gnu-hash-table, to print the content of that section.
Differential Revision: http://reviews.llvm.org/D13696
llvm-svn: 250291
|
| |
|
|
|
|
|
|
| |
libLLVM.
This is to match autoconf where LLVM_SUBMIT_SUBVERSION is usually set to ${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}.
llvm-svn: 250277
|
| |
|
|
|
|
|
| |
to get away with this because llvm/Support/GCOV.h was an implementation detail
of the llvm-gcov tool, but it's now being used by FDO.
llvm-svn: 250258
|
| |
|
|
|
|
|
|
| |
support.
This also adds LLVM_LTO_VERSION_OFFSET to support functional equivalence to autoconf.
llvm-svn: 250245
|
| |
|
|
|
|
| |
This is in matching with the autoconf build system.
llvm-svn: 250244
|
| |
|
|
| |
llvm-svn: 250239
|
| |
|
|
| |
llvm-svn: 250231
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13518
llvm-svn: 250086
|
| |
|
|
| |
llvm-svn: 250072
|
| |
|
|
|
|
| |
Differential Revision http://reviews.llvm.org/D13518
llvm-svn: 250067
|
| |
|
|
| |
llvm-svn: 250004
|
| |
|
|
| |
llvm-svn: 249999
|
| |
|
|
| |
llvm-svn: 249923
|
| |
|
|
|
|
|
|
|
|
| |
malformed Mach-O file that caused a crash. This was because of an
assert where the code was incorrectly attempting to parse relocation
entries off of the sections and the filetype was not an MH_OBJECT.
rdar://22983603
llvm-svn: 249921
|
| |
|
|
|
|
| |
test/tools/llvm-objdump/malformed-machos.test added in r249845.
llvm-svn: 249909
|
| |
|
|
|
|
|
|
| |
just export the world.
This should resolve Bug 24157 - CMake built shared library does not export all public symbols
llvm-svn: 249862
|
| |
|
|
|
|
|
|
|
|
|
| |
from malformed Mach-O files that caused crashes. The first because the
offset in a dyld bind table entry was out of range. The second because their
was no image info section and the routine printing it did not have the
need check to see the section did not exist.
rdar://22983603
llvm-svn: 249845
|
| |
|
|
| |
llvm-svn: 249836
|
| |
|
|
|
|
| |
by tests
llvm-svn: 249785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously the relative address flag only affected PDB debug info. Now
both DIContext implementations always expect to be passed virtual
addresses. llvm-symbolizer is now responsible for adding ImageBase to
module offsets when --relative-offset is passed.
Reviewers: zturner
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12883
llvm-svn: 249784
|
| |
|
|
|
|
|
|
|
| |
from malformed Mach-O files that caused a crash because of a
section header had a size that extended past the end of the file.
rdar://22983603
llvm-svn: 249768
|
| |
|
|
|
|
|
|
| |
Even if we don't have it in PATH, lipo should usually exist in the same directory
as dsymutil. Keep the fallback looking up the PATH, it's very useful when
testing a non-installed executable.
llvm-svn: 249762
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes memory allocation problems by making the merge operation keep
the profile readers around until the merged profile has been emitted.
This is needed to prevent the inlined function names to disappear from
the function profiles. Since all the names are kept as references, once
the reader disappears, the names are also deallocated.
Additionally, XFAIL on big-endian architectures. The test case uses a
gcov file generated on a little-endian system.
llvm-svn: 249724
|
| |
|
|
|
|
|
| |
from malformed Mach-O files that caused a crash because of loops
in the class meta data.
llvm-svn: 249700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Adds support for automatically detecting and printing strings
represented by Array abbrev operands, analogous to the string dumping
performed for Blob abbrev operands.
Enhanced the ThinLTO combined index test to check for the appropriate
module and function strings.
Reviewers: dexonsmith, joker.eph, davidxl
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13553
llvm-svn: 249695
|
| |
|
|
|
|
|
|
|
|
| |
llvm-nm only needs the target to parse module level assembly in bitcode. It doesn't need a disassembler or codegen.
llvm-objdump needs to be able to disassemble a file, but doesn't need asm parsers or codegen.
This reduces the sizes of these tools by a few MB each, depending on how many backends are linked in.
llvm-svn: 249632
|