Commit Graph

14 Commits

Author SHA1 Message Date
Lang Hames 656532075b [Orc] Add conversion to/from RuntimeDyld::SymbolInfo for JITSymbol.
This tidies up some code that was manually constructing RuntimeDyld::SymbolInfo
instances from JITSymbols. It will save more mess in the future when
JITSymbol::getAddress is extended to return an Expected<TargetAddress> rather
than just a TargetAddress, since we'll be able to embed the error checking in
the conversion.

llvm-svn: 271350
2016-05-31 23:14:26 +00:00
Lang Hames f96bc6eb0c [Kaleidoscope][BuildingAJIT] Don't build Chapter 5 on Windows for now.
The TCP setup code is currently *nix based and does not build on Windows.

llvm-svn: 271194
2016-05-30 01:18:32 +00:00
Lang Hames a243ba9cad [Kaleidoscope][BuildingAJIT] Add code for Chapter 5 - remote JITing.
This chapter demonstrates lazily JITing from ASTs with the expressions being
executed on a remote machine via a TCP connection. It needs some polish, but is
substantially complete.

Currently x86-64 SysV ABI (Darwin and Linux) only, but other architectures
can be supported by changing the server code to use alternative ABI support
classes from llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h.

llvm-svn: 271193
2016-05-30 00:09:26 +00:00
Lang Hames d976fc99e6 [Kaleidoscope][BuildingAJIT] Add code for chapter 4.
This chapter will cover lazy compilation directly from ASTs using the Compile
Callbacks and Indirect Stubs APIs.

llvm-svn: 271054
2016-05-27 21:50:13 +00:00
Lang Hames f6d502d819 [Kaleidoscope][BuildingAJIT] Remove leftover debugging output statements.
llvm-svn: 270919
2016-05-26 21:27:52 +00:00
Lang Hames d7f3d9d878 [Kaleidoscope][BuildingAJIT] Add explicit dependence on TransformUtils to Chapter3.
llvm-svn: 270914
2016-05-26 21:00:29 +00:00
Lang Hames 7b6f914ba1 [Kaleidoscope][BuildingAJIT] Add code for Chapter 3.
llvm-svn: 270909
2016-05-26 20:35:39 +00:00
Lang Hames 4a59a34597 [Kaleidoscope][BuildingAJIT] Fix a bug in the symbol resolver in Chapter2.
Symbol resolution should be done on the top layer of the stack unless there's a
good reason to do otherwise. In this case it would have worked because
OptimizeLayer::addModuleSet eagerly passes all modules down to the
CompileLayer, meaning that searches in CompileLayer will find the definitions.
In later chapters where the top layer's addModuleSet isn't a pass-through, this
would break.

llvm-svn: 270899
2016-05-26 19:44:33 +00:00
Lang Hames deb27681d7 [Kaleidoscope][BuildingAJIT] Make the optimizeModule method for Chapter2
private.

llvm-svn: 270807
2016-05-26 00:24:18 +00:00
Lang Hames 684ec17cd9 [Kaleidoscope][BuildingAJIT] Add code for the 2nd chapter of the BuildingAJIT
tutorial.

llvm-svn: 270794
2016-05-25 23:25:23 +00:00
Lang Hames 1469f7f4a7 [Kaleidoscope][BuildingAJIT] Delete trailing whitespace.
llvm-svn: 270787
2016-05-25 22:48:43 +00:00
Lang Hames e0fc5aef18 [Kaleidoscope][BuildingAJIT] Add a description of the KaleidoscopeJIT addModule
method to Chapter1 of the BuildingAJIT tutorial.

llvm-svn: 270778
2016-05-25 22:27:25 +00:00
Eugene Zelenko 2b8e41705e Fix some Include What You Use warnings in examples; other minor fixes.
Differential revision: http://reviews.llvm.org/D20607

llvm-svn: 270645
2016-05-25 01:18:36 +00:00
Lang Hames 7331cc3774 [Kaleidoscope] Add an initial "Building an ORC JIT" tutorial chapter.
This is a work in progress - the chapter text is incomplete, though
the example code compiles and runs.

Feedback and patches are, as usual, most welcome.

llvm-svn: 270487
2016-05-23 20:34:19 +00:00