PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23C++23 will make these conversions ambiguous - so fix them to make thecodebase forward-compatible wit
PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23C++23 will make these conversions ambiguous - so fix them to make thecodebase forward-compatible with C++23 (& a follow-up change I've madewill make this ambiguous/invalid even in <C++23 so we don't regressthis & it generally improves the code anyway)
show more ...
Switch from llvm::is_trivially_copyable to std::is_trivially_copyableGCC<5 did not support std::is_trivially_copyable. Now LLVM builds require 5.1we can migrate to std::is_trivially_copyable.The
Switch from llvm::is_trivially_copyable to std::is_trivially_copyableGCC<5 did not support std::is_trivially_copyable. Now LLVM builds require 5.1we can migrate to std::is_trivially_copyable.The Optional.h change made MSVC choke(https://buildkite.com/llvm-project/premerge-checks/builds/18587#cd1bb616-ffdc-4581-9795-b42c284196de)so I leave it out for now.Differential Revision: https://reviews.llvm.org/D92514
Revert "Use std::is_trivially_copyable", breaks MSVC buildRevert "Delete llvm::is_trivially_copyable and CMake variable HAVE_STD_IS_TRIVIALLY_COPYABLE"This reverts commit 4d4bd40b578d77b8c5bc349d
Revert "Use std::is_trivially_copyable", breaks MSVC buildRevert "Delete llvm::is_trivially_copyable and CMake variable HAVE_STD_IS_TRIVIALLY_COPYABLE"This reverts commit 4d4bd40b578d77b8c5bc349ded405fb58c333c78.This reverts commit 557b00e0afb2dc1776f50948094ca8cc62d97be4.
Use std::is_trivially_copyableGCC<5 did not support std::is_trivially_copyable. Now LLVM builds require 5.1we can migrate to std::is_trivially_copyable.
[Bitcode] Move Bitstream to a separate libraryThis moves Bitcode/Bitstream*, Bitcode/BitCodes.h to Bitstream/.This is needed to avoid a circular dependency when using the bitstreamcode for parsi
[Bitcode] Move Bitstream to a separate libraryThis moves Bitcode/Bitstream*, Bitcode/BitCodes.h to Bitstream/.This is needed to avoid a circular dependency when using the bitstreamcode for parsing optimization remarks.Since Bitcode uses Core for the IR part:libLLVMRemarks -> Bitcode -> Coreand Core uses libLLVMRemarks to generate remarks (seeIR/RemarkStreamer.cpp):Core -> libLLVMRemarkswe need to separate the Bitstream and Bitcode part.For clang-doc, it seems that it doesn't need the whole bitcode layer, soI updated the CMake to only use the bitstream part.Differential Revision: https://reviews.llvm.org/D63899llvm-svn: 365091