[all-commits] [llvm/llvm-project] b8fddc: [llvm] Support llvm::Any across shared libraries o...
Thomas Fransham via All-commits
all-commits at lists.llvm.org
Wed Oct 23 22:07:35 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b8fddca7bdb354d51e340c60aafe3dff1b35a195
https://github.com/llvm/llvm-project/commit/b8fddca7bdb354d51e340c60aafe3dff1b35a195
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/IR/PassInstrumentation.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/unittests/IR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[llvm] Support llvm::Any across shared libraries on windows (#108051)
This is part of the effort to support for enabling plugins on windows by
adding better support for building llvm as a DLL. The export macros used
here were added in #96630
Since shared library symbols aren't deduplicated across multiple
libraries on windows like Linux we have to manually explicitly import
and export `Any::TypeId` template instantiations for the uses of
`llvm::Any` in the LLVM codebase to support LLVM Windows shared library
builds.
This change ensures that external code, including LLVM's own tests, can
use PassManager callbacks when LLVM is built as a DLL.
I also removed the only use of llvm::Any for LoopNest that only existed
in debug code and there also doesn't seem to be any code creating
`Any<LoopNest>`
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