[all-commits] [llvm/llvm-project] e235fc: [BOLT] Only link and initialize supported targets ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Feb 18 00:18:13 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e235fcb582eec5f58c905b66f96d0732d17b875e
      https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    M bolt/CMakeLists.txt
    A bolt/include/bolt/Core/TargetConfig.def.in
    M bolt/tools/binary-analysis/CMakeLists.txt
    M bolt/tools/binary-analysis/binary-analysis.cpp
    M bolt/tools/driver/CMakeLists.txt
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/heatmap/CMakeLists.txt
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
    M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/CMakeLists.txt
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/unittests/Core/MemoryMaps.cpp

  Log Message:
  -----------
  [BOLT] Only link and initialize supported targets (#127509)

Bolt currently links and initializes all LLVM targets. This
substantially increases the binary size, and link time if LTO is used.

Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We
also have to only initialize those targets, so generate a
TargetConfig.def file with the necessary information. The way the
initialization is done mirrors what llvm-exegesis does.

This reduces llvm-bolt size from 137MB to 78MB for me.



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