15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)//===- llvm/PassManager.h - Container for Passes ----------------*- C++ -*-===//
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//                     The LLVM Compiler Infrastructure
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// License. See LICENSE.TXT for details.
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//===----------------------------------------------------------------------===//
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// This is a legacy redirect header for the old PassManager. It is intended to
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// be used by clients that have not been converted to be aware of the new pass
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// management infrastructure being built for LLVM, which is every client
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// initially. Eventually this header (and the legacy management layer) will go
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// away, but we want to minimize changes to out-of-tree users of LLVM in the
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// interim.
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Note that this header *must not* be included into the same file as the new
18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// pass management infrastructure is included. Things will break spectacularly.
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// If you are starting that conversion, you should switch to explicitly
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// including LegacyPassManager.h and using the legacy namespace.
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)//===----------------------------------------------------------------------===//
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef LLVM_PASSMANAGER_H
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define LLVM_PASSMANAGER_H
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "llvm/IR/LegacyPassManager.h"
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace llvm {
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Pull these into the llvm namespace so that existing code that expects it
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// there can find it.
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using legacy::PassManagerBase;
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using legacy::PassManager;
35b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)using legacy::FunctionPassManager;
36b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
37b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)}
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)