[all-commits] [llvm/llvm-project] d38d06: [ORC] Don't create MaterializingInfo entries unnec...

lhames via All-commits all-commits at lists.llvm.org
Fri Mar 27 11:03:48 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d38d06e6493fa6bc77d54589960007d7a91c8096
      https://github.com/llvm/llvm-project/commit/d38d06e6493fa6bc77d54589960007d7a91c8096
  Author: Lang Hames <lhames at gmail.com>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  [ORC] Don't create MaterializingInfo entries unnecessarily.


  Commit: cb84e4827e43921659e75509dfb42ebf56c50502
      https://github.com/llvm/llvm-project/commit/cb84e4827e43921659e75509dfb42ebf56c50502
  Author: Lang Hames <lhames at gmail.com>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITSymbol.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Layer.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp

  Log Message:
  -----------
  [ORC] Introduce JITSymbolFlags::HasMaterializeSideEffectsOnly flag.

This flag can be used to mark a symbol as existing only for the purpose of
enabling materialization. Such a symbol can be looked up to trigger
materialization with the lookup returning only once materialization is
complete. Symbols with this flag will never resolve however (to avoid
permanently polluting the symbol table), and should only be looked up using
the SymbolLookupFlags::WeaklyReferencedSymbol flag. The primary use case for
this flag is initialization symbols.


Compare: https://github.com/llvm/llvm-project/compare/49764dc30c4c...cb84e4827e43


More information about the All-commits mailing list