| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Start teaching the runtime Dyld interface to use the memory manager API
for allocating space. Rather than mapping directly into the MachO object,
we extract the payload for each object and copy it into a dedicated buffer
allocated via the memory manager. For now, just do Segment64, so this works
on x86_64, but not yet on ARM.
llvm-svn: 128973
|
| |
|
|
| |
llvm-svn: 128938
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.
Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.
llvm-svn: 128910
|
| |
|
|
| |
llvm-svn: 128905
|
| |
|
|
|
|
| |
scheme is used by the functionality related to find_package.
llvm-svn: 128889
|
| |
|
|
|
|
|
|
|
|
|
| |
The JITMemory manager references LLVM IR constructs directly, while the
runtime Dyld works at a lower level and can handle objects which may not
originate from LLVM IR. Introduce a new layer for the memory manager to
handle the interface between them. For the MCJIT, this layer will be almost
entirely simply a call-through w/ translation between the IR objects and
symbol names.
llvm-svn: 128851
|
| |
|
|
| |
llvm-svn: 128839
|
| |
|
|
| |
llvm-svn: 128834
|
| |
|
|
| |
llvm-svn: 128831
|
| |
|
|
|
|
| |
separate executable.
llvm-svn: 128801
|
| |
|
|
| |
llvm-svn: 128740
|
| |
|
|
|
|
|
|
|
| |
with the contents of CMAKE_C(XX)_FLAGS too, else `llvm-config
--c(xx)flags' doesn't tell the absolute truth.
This comes from PR9603 and is based on a patch by Ryuta Suzuki!
llvm-svn: 128727
|
| |
|
|
|
|
| |
Patch by arrowdoger.
llvm-svn: 128719
|
| |
|
|
| |
llvm-svn: 128631
|
| |
|
|
| |
llvm-svn: 128630
|
| |
|
|
|
|
| |
PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128537
|
| |
|
|
| |
llvm-svn: 128535
|
| |
|
|
| |
llvm-svn: 128503
|
| |
|
|
| |
llvm-svn: 128485
|
| |
|
|
| |
llvm-svn: 128440
|
| |
|
|
|
|
| |
on Darwin.
llvm-svn: 128430
|
| |
|
|
| |
llvm-svn: 128205
|
| |
|
|
|
|
| |
memory and writing it back to disk.
llvm-svn: 128108
|
| |
|
|
| |
llvm-svn: 128098
|
| |
|
|
| |
llvm-svn: 128094
|
| |
|
|
|
|
|
|
| |
Now we can remove RuntimeDyld from the LLVM_LINK_COMPONENTS of
tools/lli. CMakeLists.txt LLVM_LINK_COMPONENTS shall not differ from
its companion Makefile LINK_COMPONENTS.
llvm-svn: 128069
|
| |
|
|
|
|
|
| |
Also perform the required dark rituals and sacrifices to placate the buildbot
spirits. We shall see if they are appeased...
llvm-svn: 128067
|
| |
|
|
| |
llvm-svn: 128035
|
| |
|
|
|
|
|
|
|
| |
Move the dynamic linking functionality of the llvm-rtdyld program into an
ExecutionEngine support library. Update llvm-rtdyld to just load an object
file into memory, use the library to process it, then run the _main()
function, if one is found.
llvm-svn: 128031
|
| |
|
|
|
|
|
|
|
| |
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.
This is part of a work-in-progress.
llvm-svn: 127986
|
| |
|
|
|
|
|
| |
Some of those POSIX <-> Windows command line conversions ended on
failure.
llvm-svn: 127958
|
| |
|
|
| |
llvm-svn: 127957
|
| |
|
|
|
|
|
|
|
|
|
| |
Proof-of-concept code that code-gens a module to an in-memory MachO object.
This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld
for similarly conceptual work for that part) which will take the compiled
object and link it together with the rest of the system, providing back to the
JIT a table of available symbols which will be used to respond to the
getPointerTo*() queries.
llvm-svn: 127916
|
| |
|
|
|
|
| |
'ar'. Have to figure out how to make libLTO even lazier.
llvm-svn: 127901
|
| |
|
|
|
|
|
| |
Factor out the 64-bit specific bits into a helper function and add an
equivalent that loads the 32-bit sections. This allows using llvm-rtdyld on ARM.
llvm-svn: 127892
|
| |
|
|
| |
llvm-svn: 127887
|
| |
|
|
| |
llvm-svn: 127886
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a bone-simple utility to load a MachO object into memory, look for
a function (main) in it, and run that function directly. This will be used
as a test and development platform for MC-JIT work regarding symbol resolution,
dynamic lookup, etc..
Code by Daniel Dunbar.
llvm-svn: 127885
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions and initializers, just report the declarations present in
the module.
The motivation is to open the way for using the lazy module parsing,
which should speed up clients that just want a symbol list (nm, ar).
This is slightly less precise, but since both -strip-dead-prototypes
and -globaldce are part of the standard pipeline, this shouldn't
change the result for clang/dragonegg produced binaries.
Any decl in an IL file was also put there because a FE expected it
to be necessary, so this should not be a problem for "-O0 -emit-llvm".
As a sanity check, I have bootstrapped clang on linux and built
firefox on both linux and darwin. A clang bootstrap on darwin
with LTO fails with or without this patch because, ironically,
the linker doesn't like the combination of dead_strip and LTO
when building libLTO.so :-)
llvm-svn: 127870
|
| |
|
|
| |
llvm-svn: 127859
|
| |
|
|
| |
llvm-svn: 127858
|
| |
|
|
|
|
| |
instead of copying.
llvm-svn: 127835
|
| |
|
|
| |
llvm-svn: 127824
|
| |
|
|
| |
llvm-svn: 127814
|
| |
|
|
| |
llvm-svn: 127813
|
| |
|
|
|
|
| |
of an file.
llvm-svn: 127781
|
| |
|
|
|
|
| |
later forward declared as a struct)
llvm-svn: 127632
|
| |
|
|
|
|
| |
but it re-organizes the old features, so I can insert the MetadataEngine to use the same infrastructure.
llvm-svn: 127627
|
| |
|
|
| |
llvm-svn: 127562
|
| |
|
|
| |
llvm-svn: 127555
|