summaryrefslogtreecommitdiffstats
path: root/llvm/examples/Kaleidoscope/BuildingAJIT
Commit message (Collapse)AuthorAgeFilesLines
...
* [ORC] Update examples for header changes in r281171.Lang Hames2016-09-111-2/+2
| | | | llvm-svn: 281178
* Fix singlton -> singleton typo.Eric Christopher2016-08-265-5/+5
| | | | llvm-svn: 279801
* [ExecutionEngine][MCJIT][Orc] Replace RuntimeDyld::SymbolInfo with JITSymbol.Lang Hames2016-08-015-31/+30
| | | | | | | | | | | | | | | | This patch replaces RuntimeDyld::SymbolInfo with JITSymbol: A symbol class that is capable of lazy materialization (i.e. the symbol definition needn't be emitted until the address is requested). This can be used to support common and weak symbols in the JIT (though this is not implemented in this patch). For consistency, RuntimeDyld::SymbolResolver is renamed to JITSymbolResolver. For space efficiency a new class, JITEvaluatedSymbol, is introduced that behaves like the old RuntimeDyld::SymbolInfo - i.e. it is just a pair of an address and symbol flags. Instances of JITEvaluatedSymbol can be used in symbol-tables to avoid paying the space cost of the materializer. llvm-svn: 277386
* [Kaleidoscope][BuildingAJIT] Start filling in text for chapter 3.Lang Hames2016-07-153-14/+17
| | | | llvm-svn: 275518
* [Orc] Add conversion to/from RuntimeDyld::SymbolInfo for JITSymbol.Lang Hames2016-05-315-7/+7
| | | | | | | | | | 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
* [Kaleidoscope][BuildingAJIT] Don't build Chapter 5 on Windows for now.Lang Hames2016-05-301-1/+3
| | | | | | The TCP setup code is currently *nix based and does not build on Windows. llvm-svn: 271194
* [Kaleidoscope][BuildingAJIT] Add code for Chapter 5 - remote JITing.Lang Hames2016-05-307-0/+1789
| | | | | | | | | | | | 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
* [Kaleidoscope][BuildingAJIT] Add code for chapter 4.Lang Hames2016-05-274-0/+1479
| | | | | | | This chapter will cover lazy compilation directly from ASTs using the Compile Callbacks and Indirect Stubs APIs. llvm-svn: 271054
* [Kaleidoscope][BuildingAJIT] Remove leftover debugging output statements.Lang Hames2016-05-261-4/+0
| | | | llvm-svn: 270919
* [Kaleidoscope][BuildingAJIT] Add explicit dependence on TransformUtils to ↵Lang Hames2016-05-261-0/+1
| | | | | | Chapter3. llvm-svn: 270914
* [Kaleidoscope][BuildingAJIT] Add code for Chapter 3.Lang Hames2016-05-264-0/+1385
| | | | llvm-svn: 270909
* [Kaleidoscope][BuildingAJIT] Fix a bug in the symbol resolver in Chapter2.Lang Hames2016-05-261-1/+1
| | | | | | | | | | | 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
* [Kaleidoscope][BuildingAJIT] Make the optimizeModule method for Chapter2Lang Hames2016-05-261-0/+2
| | | | | | private. llvm-svn: 270807
* [Kaleidoscope][BuildingAJIT] Add code for the 2nd chapter of the BuildingAJITLang Hames2016-05-254-0/+1369
| | | | | | tutorial. llvm-svn: 270794
* [Kaleidoscope][BuildingAJIT] Delete trailing whitespace.Lang Hames2016-05-251-1/+1
| | | | llvm-svn: 270787
* [Kaleidoscope][BuildingAJIT] Add a description of the KaleidoscopeJIT addModuleLang Hames2016-05-251-4/+15
| | | | | | method to Chapter1 of the BuildingAJIT tutorial. llvm-svn: 270778
* Fix some Include What You Use warnings in examples; other minor fixes.Eugene Zelenko2016-05-251-5/+13
| | | | | | Differential revision: http://reviews.llvm.org/D20607 llvm-svn: 270645
* [Kaleidoscope] Add an initial "Building an ORC JIT" tutorial chapter.Lang Hames2016-05-234-0/+1320
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
OpenPOWER on IntegriCloud