1932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
2932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//===- BitReader_2_7.h - Internal BitcodeReader 2.7 impl --------*- C++ -*-===//
3932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//
4932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//                     The LLVM Compiler Infrastructure
5932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//
6932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines// This file is distributed under the University of Illinois Open Source
7932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines// License. See LICENSE.TXT for details.
8932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//
9932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//===----------------------------------------------------------------------===//
10932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//
11932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines// This header defines the BitcodeReader class.
12932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//
13932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines//===----------------------------------------------------------------------===//
14932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
15932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#ifndef BITREADER_2_7_H
16932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#define BITREADER_2_7_H
17932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
18932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/GVMaterializer.h"
19932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/Attributes.h"
20932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/Type.h"
21932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/OperandTraits.h"
22932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/Bitcode/BitstreamReader.h"
23932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/Bitcode/LLVMBitCodes.h"
24932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/Support/ValueHandle.h"
25932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include "llvm/ADT/DenseMap.h"
26932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#include <string>
27932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
28932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesnamespace llvm {
29932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines  class MemoryBuffer;
30932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines  class LLVMContext;
31932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines  class Module;
32932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines} // End llvm namespace
33932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
34932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesnamespace llvm_2_7 {
35932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
36932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesllvm::Module *ParseBitcodeFile(llvm::MemoryBuffer *Buffer,
37932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                               llvm::LLVMContext& Context,
38932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                               std::string *ErrMsg);
39932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
40932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesstd::string getBitcodeTargetTriple(llvm::MemoryBuffer *Buffer,
41932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                                   llvm::LLVMContext& Context,
42932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                                   std::string *ErrMsg);
43932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
44932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesllvm::Module *getLazyBitcodeModule(llvm::MemoryBuffer *Buffer,
45932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                                   llvm::LLVMContext& Context,
46932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines                                  std::string *ErrMsg);
47932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines} // End llvm_2_7 namespace
48932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines
49932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#endif
50