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)