| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Fixes <rdar://problem/18297804>.
llvm-svn: 217620
|
|
|
|
|
|
|
|
| |
and BR24 relocations.
<rdar://problem/18296496>
llvm-svn: 217605
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this a DataLayoutPass can be reused for multiple modules.
Once we have doInitialization/doFinalization, it doesn't seem necessary to pass
a Module to the constructor.
Overall this change seems in line with the idea of making DataLayout a required
part of Module. With it the only way of having a DataLayout used is to add it
to the Module.
llvm-svn: 217548
|
|
|
|
| |
llvm-svn: 217470
|
|
|
|
|
|
| |
r217328.
llvm-svn: 217329
|
|
|
|
|
|
|
|
|
|
| |
field of RelocationValueRef, rather than the 'Addend' field.
This is consistent with RuntimeDyldELF's use of RelocationValueRef, and more
consistent with the semantics of the data being stored (the offset from the
start of a section or symbol).
llvm-svn: 217328
|
|
|
|
|
|
|
|
|
| |
The previous implementation was writing to the high-bytes of integers on BE
targets (when run on LE hosts).
http://llvm.org/PR20640
llvm-svn: 217325
|
|
|
|
|
|
|
|
|
|
|
| |
The finalizeObject method calls generateCodeForModule on each of the currently
'added' objects, but generateCodeForModule moves objects out of the 'added'
set as it's called. To avoid iterator invalidation issues, the added set is
copied out before any calls to generateCodeForModule.
This should fix http://llvm.org/PR20851 .
llvm-svn: 217291
|
|
|
|
| |
llvm-svn: 217263
|
|
|
|
|
|
| |
Alexey.
llvm-svn: 217181
|
|
|
|
| |
llvm-svn: 217180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes:
CMake Warning (dev) at lib/ExecutionEngine/Interpreter/CMakeLists.txt:16 (target_link_libraries):
Policy CMP0023 is not set: Plain and keyword target_link_libraries
signatures cannot be mixed. Run "cmake --help-policy CMP0023" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
The keyword signature for target_link_libraries has already been used with
the target "LLVMInterpreter". All uses of target_link_libraries with a
target should be either all-keyword or all-plain.
The uses of the keyword signature are here:
* cmake/modules/AddLLVM.cmake:345 (target_link_libraries)
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 217154
|
|
|
|
|
|
|
| |
If the wrong pointer type is used it can cause corruption of the frame
description entries.
llvm-svn: 217124
|
|
|
|
|
|
|
|
|
| |
sections.
This allows fine-grained control of the memory layout of hypothetical target
processes for testing purposes.
llvm-svn: 217122
|
|
|
|
|
|
|
|
|
|
| |
I'm not sure this is a particularly helpful API (to pass ownership and
then return it unconditionally) rather than just pass the underlying
object by non-const reference, but this was the original API so I'll
just make it more safe/stable and anyone else is free to adjust that at
their whim, of course.
llvm-svn: 217081
|
|
|
|
|
|
|
| |
JITEventListener. This used to be in the old JIT (last line of the file)
and everyone just "happened" to pick it up from there. =/ Doh.
llvm-svn: 217073
|
|
|
|
| |
llvm-svn: 217067
|
|
|
|
| |
llvm-svn: 217065
|
|
|
|
|
|
| |
No functionality change. Changes made by clang-tidy + some manual cleanup.
llvm-svn: 217028
|
|
|
|
|
|
|
|
| |
left out of r217010).
Also remove a crufty debugging output statement that was accidentally left in.
llvm-svn: 217011
|
|
|
|
|
|
|
|
|
|
| |
The syntax of the new builtin is 'section_addr(<filename>, <section-name>)'
(similar to the stub_addr builtin, but without a symbol name). It returns the
base address of the given section in the given object file. This builtin makes
it possible to refer to the contents of sections that cannot contain symbols,
e.g. sections added by the linker itself, like __eh_frame.
llvm-svn: 217010
|
|
|
|
| |
llvm-svn: 216988
|
|
|
|
|
|
|
|
| |
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reinstates commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 216982
|
|
|
|
|
|
|
|
|
| |
RuntimeDyldImpl.
These are platform independent, and moving them to the base class allows
RuntimeDyldChecker to use them too.
llvm-svn: 216801
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Just fixing comments, no functional change.
Test Plan: N/A
Reviewers: jfb
Subscribers: mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D5130
llvm-svn: 216784
|
|
|
|
|
|
| |
More work on http://llvm.org/PR20640
llvm-svn: 216648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Introduce support::ulittleX_t::ref type to Support/Endian.h and use it in x86 JIT
to enforce correct endianness and fix unaligned accesses.
Test Plan: regression test suite
Reviewers: lhames
Subscribers: ributzka, llvm-commits
Differential Revision: http://reviews.llvm.org/D5011
llvm-svn: 216631
|
|
|
|
| |
llvm-svn: 216568
|
|
|
|
|
|
| |
http://llvm.org/PR20640
llvm-svn: 216567
|
|
|
|
|
|
|
| |
Long term the idea if for the engine to not own the buffers, but for now
this is consistent with the rest of the API.
llvm-svn: 216484
|
|
|
|
| |
llvm-svn: 216458
|
|
|
|
| |
llvm-svn: 216427
|
|
|
|
|
|
|
|
| |
The expressions 'Reloc.Addend - Addend' and 'Reloc.Offset' should always be
equal in this context. The latter is prefered - we want to remove the
RelocationValueRef::Addend field in the future.
llvm-svn: 216418
|
|
|
|
|
|
| |
Also switch section memory dump format from 8 to 16 columns.
llvm-svn: 216413
|
|
|
|
| |
llvm-svn: 216400
|
|
|
|
|
|
| |
NFC.
llvm-svn: 216362
|
|
|
|
| |
llvm-svn: 216361
|
|
|
|
| |
llvm-svn: 216351
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on the STL class of the same name, it guards a mutex
while also allowing it to be unlocked conditionally before
destruction.
This eliminates the last naked usages of mutexes in LLVM and
clang.
It also uncovered and fixed a bug in callExternalFunction()
when compiled without USE_LIBFFI, where the mutex would never
be unlocked if the end of the function was reached.
llvm-svn: 216338
|
|
|
|
|
|
| |
Use lock/unlock() convention instead of acquire/release().
llvm-svn: 216336
|
|
|
|
| |
llvm-svn: 216201
|
|
|
|
|
|
|
|
| |
EngineBuilder and DIContext.
By Arch Robison.
llvm-svn: 216159
|
|
|
|
| |
llvm-svn: 216017
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries
(like Archive) and we had to create dummy buffers just to handle that. It is
also a bad fit for IRObjectFile where the Module wants to own the buffer too.
Keeping this ownership would make supporting IR inside native objects
particularly painful.
This patch focuses in lib/Object. If something elsewhere used to own an Binary,
now it also owns a MemoryBuffer.
This patch introduces a few new types.
* MemoryBufferRef. This is just a pair of StringRefs for the data and name.
This is to MemoryBuffer as StringRef is to std::string.
* OwningBinary. A combination of Binary and a MemoryBuffer. This is needed
for convenience functions that take a filename and return both the
buffer and the Binary using that buffer.
The C api now uses OwningBinary to avoid any change in semantics. I will start
a new thread to see if we want to change it and how.
llvm-svn: 216002
|
|
|
|
| |
llvm-svn: 215967
|
|
|
|
| |
llvm-svn: 215948
|
|
|
|
|
|
| |
This patch may address some of the issues described in http://llvm.org/PR20640.
llvm-svn: 215938
|
|
|
|
|
|
| |
Thanks to David Blaikie for the suggestion.
llvm-svn: 215867
|
|
|
|
|
|
| |
Patch by Anthony Pesch. Thanks Anthony!
llvm-svn: 215613
|
|
|
|
|
|
|
|
|
|
| |
Add header guards to files that were missing guards. Remove #endif comments
as they don't seem common in LLVM (we can easily add them back if we decide
they're useful)
Changes made by clang-tidy with minor tweaks.
llvm-svn: 215558
|