llvm-project/llvm
Lang Hames 868d4b3122 Add an option to MCJIT to have it forward all sections to the
RTDyldMemoryManager, regardless of whether it thinks they're "required for
execution".

Currently, RuntimeDyld only passes sections that are "required for execution"
to the RTDyldMemoryManager, and takes "required for execution" to mean exactly
"contains symbols or relocations". There are two problems with this:
(1) It can drop sections with anonymous data that is referenced by code.
(2) It leaves the JIT client no way to inspect interesting sections that aren't
    actually required to run the program (e.g dwarf sections).

A test case is still in the works.

Future work: We may want to replace this with a generic section filtering
mechanism, but that will require more consideration. For now, this flag at least
allows clients to volunteer to do the filtering themselves.

Fixes <rdar://problem/15177691>.

llvm-svn: 204398
2014-03-20 21:06:46 +00:00
..
autoconf Remove projects/sample. 2014-03-12 22:40:22 +00:00
bindings
cmake [CMake][cygming] Disable --out-implib from executables. 2014-03-16 13:51:24 +00:00
docs Remove LowerInvoke's obsolete "-enable-correct-eh-support" option 2014-03-20 19:54:47 +00:00
examples Fix warnings about an variable only used in asserts. 2014-03-06 06:35:46 +00:00
include Add an option to MCJIT to have it forward all sections to the 2014-03-20 21:06:46 +00:00
lib Add an option to MCJIT to have it forward all sections to the 2014-03-20 21:06:46 +00:00
projects Remove projects/sample. 2014-03-12 22:40:22 +00:00
test Revert "[Constant Hoisting] Extend coverage of the constant hoisting pass." 2014-03-20 20:17:13 +00:00
tools llvm-profdata: Remove an empty comment 2014-03-20 18:37:27 +00:00
unittests Object: Don't double-escape empty hexdata 2014-03-20 06:28:52 +00:00
utils Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
.arcconfig
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.gitignore Remove projects/sample. 2014-03-12 22:40:22 +00:00
CMakeLists.txt static link polly into tools 2014-03-14 04:04:14 +00:00
CODE_OWNERS.TXT Update my e-mail address in CODE_OWNERS.TXT 2014-03-13 18:04:41 +00:00
CREDITS.TXT
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add a --enable-clang-plugin-support option to configure. 2014-03-10 16:58:35 +00:00
Makefile.rules Use -std=gnu++11 on cygwin and mingw. 2014-03-12 20:01:15 +00:00
README.txt
configure Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.