1193323Sed//===- llvm/PassManager.h - Container for Passes ----------------*- C++ -*-===//
2193323Sed//
3193323Sed//                     The LLVM Compiler Infrastructure
4193323Sed//
5193323Sed// This file is distributed under the University of Illinois Open Source
6193323Sed// License. See LICENSE.TXT for details.
7193323Sed//
8193323Sed//===----------------------------------------------------------------------===//
9193323Sed//
10263508Sdim// This is a legacy redirect header for the old PassManager. It is intended to
11263508Sdim// be used by clients that have not been converted to be aware of the new pass
12263508Sdim// management infrastructure being built for LLVM, which is every client
13263508Sdim// initially. Eventually this header (and the legacy management layer) will go
14263508Sdim// away, but we want to minimize changes to out-of-tree users of LLVM in the
15263508Sdim// interim.
16193323Sed//
17263508Sdim// Note that this header *must not* be included into the same file as the new
18263508Sdim// pass management infrastructure is included. Things will break spectacularly.
19263508Sdim// If you are starting that conversion, you should switch to explicitly
20263508Sdim// including LegacyPassManager.h and using the legacy namespace.
21263508Sdim//
22193323Sed//===----------------------------------------------------------------------===//
23193323Sed
24193323Sed#ifndef LLVM_PASSMANAGER_H
25193323Sed#define LLVM_PASSMANAGER_H
26193323Sed
27263508Sdim#include "llvm/IR/LegacyPassManager.h"
28193323Sed
29193323Sednamespace llvm {
30193323Sed
31263508Sdim// Pull these into the llvm namespace so that existing code that expects it
32263508Sdim// there can find it.
33263508Sdimusing legacy::PassManagerBase;
34263508Sdimusing legacy::PassManager;
35263508Sdimusing legacy::FunctionPassManager;
36193323Sed
37263508Sdim}
38193323Sed
39193323Sed#endif
40