| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
DataLayout keeps the string used for its creation.
As a side effect it is no longer needed in the Module.
This is "almost" NFC, the string is no longer
canonicalized, you can't rely on two "equals" DataLayout
having the same string returned by getStringRepresentation().
Get rid of DataLayoutPass: the DataLayout is in the Module
The DataLayout is "per-module", let's enforce this by not
duplicating it more than necessary.
One more step toward non-optionality of the DataLayout in the
module.
Make DataLayout Non-Optional in the Module
Module->getDataLayout() will never returns nullptr anymore.
Reviewers: echristo
Subscribers: resistor, llvm-commits, jholewinski
Differential Revision: http://reviews.llvm.org/D7992
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 231270
|
|
|
|
| |
llvm-svn: 230926
|
|
|
|
| |
llvm-svn: 230705
|
|
|
|
|
|
| |
tutorial.
llvm-svn: 230664
|
|
|
|
| |
llvm-svn: 230658
|
|
|
|
|
|
|
|
| |
diffs
between them.
llvm-svn: 230542
|
|
|
|
|
|
| |
comments in the fully_lazy tutorial to minimize the diff between the two.
llvm-svn: 230202
|
|
|
|
| |
llvm-svn: 230201
|
|
|
|
|
|
| |
NFC.
llvm-svn: 230143
|
|
|
|
| |
llvm-svn: 229949
|
|
|
|
|
|
|
| |
Not sure if/how to make the CMake build use C++14 for the examples, so
let's stick to C++11 for now.
llvm-svn: 229888
|
|
|
|
| |
llvm-svn: 229821
|
|
|
|
|
|
|
|
| |
still.
The new JIT doesn't IRGen stubs until they're referenced.
llvm-svn: 229807
|
|
|
|
| |
llvm-svn: 229765
|
|
|
|
|
|
| |
Darwin.
llvm-svn: 229761
|
|
|
|
|
|
| |
function body pointer in the fully lazy orc/kaleidoscope tutorial.
llvm-svn: 229760
|
|
|
|
|
|
| |
explanation up a little.
llvm-svn: 229467
|
|
|
|
|
|
|
|
| |
The version of the tutorial uses the new compile callbacks API to inject stubs
that trigger IRGen & Codegen of their respective function bodies when they are
first called.
llvm-svn: 229466
|
|
|
|
|
|
| |
to get rid of the duplicate prompt. NFC.
llvm-svn: 229465
|
|
|
|
| |
llvm-svn: 229351
|
|
|
|
|
|
| |
requiring the macro. NFC; LLVM edition.
llvm-svn: 229340
|
|
|
|
|
|
|
|
|
|
|
| |
llvm/PassManager.h wrapper header and its using declarations. These now
directly use the legacy namespace.
I had updated the #include lines in my large commit but forgot that the
examples weren't being built and didn't update the code to use the
correct namespace. Sorry for the noise here.
llvm-svn: 229095
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM's include tree and the use of using declarations to hide the
'legacy' namespace for the old pass manager.
This undoes the primary modules-hostile change I made to keep
out-of-tree targets building. I sent an email inquiring about whether
this would be reasonable to do at this phase and people seemed fine with
it, so making it a reality. This should allow us to start bootstrapping
with modules to a certain extent along with making it easier to mix and
match headers in general.
The updates to any code for users of LLVM are very mechanical. Switch
from including "llvm/PassManager.h" to "llvm/IR/LegacyPassManager.h".
Qualify the types which now produce compile errors with "legacy::". The
most common ones are "PassManager", "PassManagerBase", and
"FunctionPassManager".
llvm-svn: 229094
|
|
|
|
|
|
| |
miss previously.
llvm-svn: 229089
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch refactors a key piece of the Orc APIs: It removes the
*::getSymbolAddress and *::lookupSymbolAddressIn methods, which returned target
addresses (uint64_ts), and replaces them with *::findSymbol and *::findSymbolIn
respectively, which return instances of the new JITSymbol type. Unlike the old
methods, calling findSymbol or findSymbolIn does not cause the symbol to be
immediately materialized when found. Instead, the symbol will be materialized
if/when the getAddress method is called on the returned JITSymbol. This allows
us to query for the existence of symbols without actually materializing them. In
the future I expect more information to be attached to the JITSymbol class, for
example whether the returned symbol is a weak or strong definition. This will
allow us to properly handle weak symbols and multiple definitions.
llvm-svn: 228557
|
|
|
|
|
|
| |
remove an unused parameter.
llvm-svn: 228543
|
|
|
|
| |
llvm-svn: 228539
|
|
|
|
| |
llvm-svn: 228537
|
|
|
|
| |
llvm-svn: 228531
|
|
|
|
|
|
| |
further c++ify the Kaleidoscope/Orc tutorials.
llvm-svn: 228530
|
|
|
|
| |
llvm-svn: 228524
|
|
|
|
|
|
| |
breaks due to unused variables).
llvm-svn: 228520
|
|
|
|
| |
llvm-svn: 228519
|
|
|
|
|
|
|
|
| |
This tutorial builds on the lazy_codegen kaleidoscope/orc tutorial by making
a small set of changes (~75 lines diff) to defer ir-generation for function
definitions until functions are actually referenced.
llvm-svn: 228466
|
|
|
|
|
|
|
|
| |
This tutorial builds on the initial kaleidoscope/orc tutorial by adding a
LazyEmittingLayer to the custom stack. This extra layer defers compilation
of modules in the JIT until they are statically referenced.
llvm-svn: 228459
|
|
|
|
|
|
|
| |
This tutorial demonstrates a very basic custom Orc JIT stack that performs eager
compilation: All modules are CodeGen'd immediately upon being added to the JIT.
llvm-svn: 228456
|
|
|
|
| |
llvm-svn: 226419
|
|
|
|
| |
llvm-svn: 226418
|
|
|
|
| |
llvm-svn: 226417
|
|
|
|
|
|
| |
I forgot to do this for r226308. Thanks to Eric Christopher for the reminder.
llvm-svn: 226327
|
|
|
|
|
|
|
|
| |
calls to functions weren't evaluated correctly.
Patch by Charlie Turner. Thanks Charlie!
llvm-svn: 226308
|
|
|
|
|
|
| |
CMake-produced solutions that care about such things (like MSVC). This takes the Kaleidescope target out of the root solution folder and places it into the Examples folder where it belongs.
llvm-svn: 225354
|
|
|
|
| |
llvm-svn: 225320
|
|
|
|
| |
llvm-svn: 225318
|
|
|
|
| |
llvm-svn: 225315
|
|
|
|
|
|
| |
Thanks to Rafael Espindola for testing assistance.
llvm-svn: 223678
|
|
|
|
|
|
| |
dependencies for the KS tutorials
llvm-svn: 223677
|
|
|
|
|
|
|
| |
make all doesn't build the examples and it was uniquified since
last build.
llvm-svn: 223675
|
|
|
|
|
|
|
|
|
| |
a description of how to add debug information using DWARF and
DIBuilder to the language.
Thanks to David Blaikie for his assistance with this tutorial.
llvm-svn: 223671
|
|
|
|
| |
llvm-svn: 223670
|