[all-commits] [llvm/llvm-project] 642885: [ORC] Introduce lookupAndRecordAddrs utility.

lhames via All-commits all-commits at lists.llvm.org
Thu Aug 19 22:15:46 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 642885710e20acf3cc0d815009e62b8a39693bc0
      https://github.com/llvm/llvm-project/commit/642885710e20acf3cc0d815009e62b8a39693bc0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-08-20 (Fri, 20 Aug 2021)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/LookupAndRecordAddrsTest.cpp

  Log Message:
  -----------
  [ORC] Introduce lookupAndRecordAddrs utility.

Accepts a vector of (SymbolStringPtr, ExecutorAddress*) pairs, looks up all the
symbols, then writes their address to each of the corresponding
ExecutorAddresses.

This idiom (looking up and recording addresses into a specific set of variables)
is used in MachOPlatform and the (temporarily reverted) ELFNixPlatform, and is
likely to be used in other places in the near future, so wrapping it in a
utility function should save us some boilerplate.


  Commit: 4290d0fed0223a56411751009a629f7e8541aa9a
      https://github.com/llvm/llvm-project/commit/4290d0fed0223a56411751009a629f7e8541aa9a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-08-20 (Fri, 20 Aug 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Add 'Async' suffix to ExecutorProcessControl::MemoryAccess methods.

This prevents the async methods (which shoud be overridden by subclasses) from
hiding the blocking helper methods, avoiding a lot of 'using MemoryAccess::...'
boilerplate.


Compare: https://github.com/llvm/llvm-project/compare/1cd3d1927145...4290d0fed022


More information about the All-commits mailing list