[PATCH] D63378: [ORC] WIP Speculative compilation

Praveen velliengiri via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 31 09:38:57 PDT 2019


pree-jackie updated this revision to Diff 212603.
pree-jackie added a comment.
Herald added a subscriber: mgrang.

1. Included a Example to show how to use speculation,

2. With the current implementation, we see speedups but it is not benchmark and quantized yet, the analysis are experimental.

3. Launching lookup's for already compiled symbols are avoided by a simple pre map lookup, but the jump can be avoided entirely by having a global variable and creating the new entry Basic Block, which comparison failure : jump into the JIT compiler memory and on success branch to original "pre entry Basic Block of function".


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63378/new/

https://reviews.llvm.org/D63378

Files:
  llvm/examples/CMakeLists.txt
  llvm/examples/SpeculativeJIT/CMakeLists.txt
  llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
  llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
  llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
  llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
  llvm/include/llvm/ExecutionEngine/Orc/Speculation.h
  llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
  llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
  llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
  llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp
  llvm/lib/ExecutionEngine/Orc/Speculation.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63378.212603.patch
Type: text/x-patch
Size: 30567 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190731/b73a7cc7/attachment.bin>


More information about the llvm-commits mailing list