Generalize the pass registration mechanism used by Polly to any third-party toolThere's quite a lot of references to Polly in the LLVM CMake codebase. Howeverthe registration pattern used by Polly
Generalize the pass registration mechanism used by Polly to any third-party toolThere's quite a lot of references to Polly in the LLVM CMake codebase. Howeverthe registration pattern used by Polly could be useful to other externalprojects: thanks to that mechanism it would be possible to develop LLVMextension 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 mechanism2. Provide a generic mechanism to register compiler extensions.A compiler extension is similar to a pass plugin, with the notable differencethat the compiler extension can be configured to be built dynamically (likeplugins) or statically (like regular passes).As a result, people willing to add extra passes to clang/opt can do it using aseparate code repo, but still have their pass be linked in clang/opt as built-inpasses.Differential Revision: https://reviews.llvm.org/D61446
show more ...