mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
ef5afb1b16
This will provide the analogous replacements for the PassManagerBuilder and other code long term. This code is extracted from the opt tool currently, and I plan to extend it as I build up support for using the new pass manager in Clang and other places. Mailing this out for review in part to let folks comment on the terrible names here. A brief word about why I chose the names I did. The library is called "Passes" to try and make it clear that it is a high-level utility and where *all* of the passes come together and are registered in a common library. I didn't want it to be *limited* to a registry though, the registry is just one component. The class is a "PassBuilder" but this name I'm less happy with. It doesn't build passes in any traditional sense and isn't a Builder-style API at all. The class is a PassRegisterer or PassAdder, but neither of those really make a lot of sense. This class is responsible for constructing passes for registry in an analysis manager or for population of a pass pipeline. If anyone has a better name, I would love to hear it. The other candidate I looked at was PassRegistrar, but that doesn't really fit either. There is no register of all the passes in use, and so I think continuing the "registry" analog outside of the registry of pass *names* and *types* is a mistake. The objects themselves are just objects with the new pass manager. Differential Revision: http://reviews.llvm.org/D8054 llvm-svn: 231556
23 lines
763 B
Plaintext
23 lines
763 B
Plaintext
;===- ./lib/Passes/LLVMBuild.txt -------------------------------*- Conf -*--===;
|
|
;
|
|
; The LLVM Compiler Infrastructure
|
|
;
|
|
; This file is distributed under the University of Illinois Open Source
|
|
; License. See LICENSE.TXT for details.
|
|
;
|
|
;===------------------------------------------------------------------------===;
|
|
;
|
|
; This is an LLVMBuild description file for the components in this subdirectory.
|
|
;
|
|
; For more information on the LLVMBuild system, please see:
|
|
;
|
|
; http://llvm.org/docs/LLVMBuild.html
|
|
;
|
|
;===------------------------------------------------------------------------===;
|
|
|
|
[component_0]
|
|
type = Library
|
|
name = Passes
|
|
parent = Libraries
|
|
required_libraries = Analysis Core IPA IPO InstCombine Scalar Support TransformUtils Vectorize
|