[cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymoreFirst of all, `LLVM_TOOLS_INSTALL_DIR` put there breaks our NixOSbuilds, because `LLVM_TOOLS_INSTALL_DIR` defined the same as`CMAKE_INSTALL_BI
[cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymoreFirst of all, `LLVM_TOOLS_INSTALL_DIR` put there breaks our NixOSbuilds, because `LLVM_TOOLS_INSTALL_DIR` defined the same as`CMAKE_INSTALL_BINDIR` becomes an *absolute* path, and then whendownstream projects try to install there too this breaks because ourbuilds always install to fresh directories for isolation's sake.Second of all, note that `LLVM_TOOLS_INSTALL_DIR` stands out against theother specially crafted `LLVM_CONFIG_*` variables substituted in`llvm/cmake/modules/LLVMConfig.cmake.in`.@beanz added it in d0e1c2a550ef348aae036d0fe78cab6f038c420c to fix adangling reference in `AddLLVM`, but I am suspicious of how thisvariable doesn't follow the pattern.Those other ones are carefully made to be build-time vs install-timevariables depending on which `LLVMConfig.cmake` is being generated, arecarefully made relative as appropriate, etc. etc. For my NixOS use-casethey are also fine because they are never used as downstream installvariables, only for reading not writing.To avoid the problems I face, and restore symmetry, I deleted theexported and arranged to have many `${project}_TOOLS_INSTALL_DIR`s.`AddLLVM` now instead expects each project to define its own, and theydo so based on `CMAKE_INSTALL_BINDIR`. `LLVMConfig` still exports`LLVM_TOOLS_BINARY_DIR` which is the location for the tools defined inthe usual way, matching the other remaining exported variables.For the `AddLLVM` changes, I tried to copy the existing pattern ofinternal vs non-internal or for LLVM vs for downstream function/macronames, but it would good to confirm I did that correctly.Reviewed By: nikicDifferential Revision: https://reviews.llvm.org/D117977
show more ...
Revert "[cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore"This reverts commit d5daa5c5b091cafb9b7ffd19b5dfa2daadef3229.
[BOLT][CMAKE] Fix DYLIB buildMove BOLT libraries out of `LLVM_LINK_COMPONENTS` to `target_link_libraries`.Addresses issue #55432.Reviewed By: rafaulerDifferential Revision: https://reviews.llv
[BOLT][CMAKE] Fix DYLIB buildMove BOLT libraries out of `LLVM_LINK_COMPONENTS` to `target_link_libraries`.Addresses issue #55432.Reviewed By: rafaulerDifferential Revision: https://reviews.llvm.org/D125568
[BOLT][NFC] Report errors from RewriteInstance `discoverStorage` and `run`Further improve error handling in BOLT by reporting `RewriteInstance` errors ina library and fuzzer-friendly way instead o
[BOLT][NFC] Report errors from RewriteInstance `discoverStorage` and `run`Further improve error handling in BOLT by reporting `RewriteInstance` errors ina library and fuzzer-friendly way instead of exiting.Follow-up to D119658Reviewed By: rafaulerDifferential Revision: https://reviews.llvm.org/D120224
[BOLT][NFC] Report errors from createBinaryContext and RewriteInstance ctorRefactor createBinaryContext and RewriteInstance/MachORewriteInstanceconstructors to report an error in a library and fuz
[BOLT][NFC] Report errors from createBinaryContext and RewriteInstance ctorRefactor createBinaryContext and RewriteInstance/MachORewriteInstanceconstructors to report an error in a library and fuzzer-friendly way instead ofreturning a nullptr or exiting.Reviewed By: rafaulerDifferential Revision: https://reviews.llvm.org/D119658
Cleanup LLVMDWARFDebugInfoAs usual with that header cleanup series, some implicit dependencies now need tobe explicit:llvm/DebugInfo/DWARF/DWARFContext.h no longer includes:- "llvm/DebugInfo/DW
Cleanup LLVMDWARFDebugInfoAs usual with that header cleanup series, some implicit dependencies now need tobe explicit:llvm/DebugInfo/DWARF/DWARFContext.h no longer includes:- "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"- "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"- "llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h"- "llvm/DebugInfo/DWARF/DWARFDebugAranges.h"- "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"- "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"- "llvm/DebugInfo/DWARF/DWARFDebugMacro.h"- "llvm/DebugInfo/DWARF/DWARFGdbIndex.h"- "llvm/DebugInfo/DWARF/DWARFSection.h"- "llvm/DebugInfo/DWARF/DWARFTypeUnit.h"- "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"Plus llvm/Support/Errc.h not included by a bunch of llvm/DebugInfo/DWARF/DWARF*.h filesPreprocessed lines to build llvm on my setup:after: 1065629059before: 1066621848Which is a great diff!Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanupDifferential Revision: https://reviews.llvm.org/D119723
[BOLT] Refactor heatmap to be standalone toolSeparate heatmap from bolt and build it as standalone tool.Reviewed By: maksfbDifferential Revision: https://reviews.llvm.org/D118946