mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
d4f51b5c4f
There's quite a lot of references to Polly in the LLVM CMake codebase. However the registration pattern used by Polly could be useful to other external projects: thanks to that mechanism it would be possible to develop LLVM extension without touching the LLVM code base. This patch has two effects: 1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it with a generic mechanism 2. Provide a generic mechanism to register compiler extensions. A compiler extension is similar to a pass plugin, with the notable difference that the compiler extension can be configured to be built dynamically (like plugins) or statically (like regular passes). As a result, people willing to add extra passes to clang/opt can do it using a separate code repo, but still have their pass be linked in clang/opt as built-in passes. Differential Revision: https://reviews.llvm.org/D61446
42 lines
604 B
CMake
42 lines
604 B
CMake
set(LLVM_LINK_COMPONENTS
|
|
AllTargetsAsmParsers
|
|
AllTargetsCodeGens
|
|
AllTargetsDescs
|
|
AllTargetsInfos
|
|
Analysis
|
|
BitWriter
|
|
CodeGen
|
|
Core
|
|
IPO
|
|
IRReader
|
|
AggressiveInstCombine
|
|
InstCombine
|
|
Instrumentation
|
|
Linker
|
|
ObjCARCOpts
|
|
ScalarOpts
|
|
Support
|
|
Target
|
|
TransformUtils
|
|
Vectorize
|
|
)
|
|
|
|
add_llvm_tool(bugpoint
|
|
BugDriver.cpp
|
|
CrashDebugger.cpp
|
|
ExecutionDriver.cpp
|
|
ExtractFunction.cpp
|
|
FindBugs.cpp
|
|
Miscompilation.cpp
|
|
OptimizerDriver.cpp
|
|
ToolRunner.cpp
|
|
bugpoint.cpp
|
|
|
|
ENABLE_PLUGINS
|
|
|
|
DEPENDS
|
|
intrinsics_gen
|
|
SUPPORT_PLUGINS
|
|
)
|
|
export_executable_symbols(bugpoint)
|