[PATCH] D11138: [ExecutionEngine] Use std::function with InstallLazyFunctionCreator

Pierre-Andre Saulais pierre-andre at codeplay.com
Mon Jul 13 05:42:51 PDT 2015


pasaulais created this revision.
pasaulais added a reviewer: lhames.
pasaulais added a subscriber: llvm-commits.
pasaulais set the repository for this revision to rL LLVM.
Herald added a subscriber: aemerson.

ExecutionEngine::InstallLazyFunctionCreator takes a function pointer, which prevents passing lambdas that capture state or member functions. With this commit, InstallLazyFunctionCreator takes a std::function parameter which allows lambdas and member functions to be used.

The original patch failed on ARM due to an unexpected additional unresolved function ('__aeabi_unwind_cpp_pr0'):
- http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-selfhost/builds/4137/steps/ninja%20check%202/logs/FAIL%3A%20LLVM-Unit%3A%3AMCJITTest.lazy_function_creator_pointer
- http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-selfhost/builds/4137/steps/ninja%20check%202/logs/FAIL%3A%20LLVM-Unit%3A%3AMCJITTest.lazy_function_creator_lambda

This patch has been updated to resolve this issue. It also includes Lang's follow-up commits (r241962, r241974).

Repository:
  rL LLVM

http://reviews.llvm.org/D11138

Files:
  include/llvm/ExecutionEngine/ExecutionEngine.h
  unittests/ExecutionEngine/MCJIT/MCJITTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11138.29551.patch
Type: text/x-patch
Size: 5191 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150713/43c269aa/attachment.bin>


More information about the llvm-commits mailing list