[all-commits] [llvm/llvm-project] 0074ce: [ORC] Get rid of ObjectLinkingLayer::Plugin::getSy...

Lang Hames via All-commits all-commits at lists.llvm.org
Sun Sep 22 01:59:11 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0074cea432e268ed126b12c6e7fd4df2e1707a77
      https://github.com/llvm/llvm-project/commit/0074cea432e268ed126b12c6e7fd4df2e1707a77
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Get rid of ObjectLinkingLayer::Plugin::getSyntheticSymbolDependencies.

Instead, when a MaterializationResponsibility contains an initializer symbol,
the Platform classes (MachO, COFF, ELFNix) will now add a defined symbol with
the same name to an arbitary block within the initializer sections, and then
add keep-alive edges from that symbol to all other init section blocks.
ObjectLinkingLayer is updated to automatically discard symbols where the
corresponding MaterializationResponsibility entry has the
MaterializationSideEffecstsOnly flag. This change simplifies both the
ObjectLinkingLayer::Plugin interface and the dependence tracking algorithm,
which no longer needs a special case for "synthetic"
(MaterializationSideEffectsOnly) symbols.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list