BitReader_3_0.h revision b730e239619a546d93e5926ea92d698ab77ec7f6
1//===- BitReader_3_0.h - Internal BitcodeReader 3.0 impl --------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This header defines the BitcodeReader class.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef BITREADER_3_0_H
15#define BITREADER_3_0_H
16
17#include "llvm/GVMaterializer.h"
18#include "llvm/IR/Attributes.h"
19#include "llvm/IR/Type.h"
20#include "llvm/IR/OperandTraits.h"
21#include "llvm/Bitcode/BitstreamReader.h"
22#include "llvm/Bitcode/LLVMBitCodes.h"
23#include "llvm/Support/ValueHandle.h"
24#include "llvm/ADT/DenseMap.h"
25#include <string>
26
27namespace llvm {
28  class MemoryBuffer;
29  class LLVMContext;
30  class Module;
31} // End llvm namespace
32
33namespace llvm_3_0 {
34
35llvm::Module *ParseBitcodeFile(llvm::MemoryBuffer *Buffer,
36                               llvm::LLVMContext& Context,
37                               std::string *ErrMsg);
38
39std::string getBitcodeTargetTriple(llvm::MemoryBuffer *Buffer,
40                                   llvm::LLVMContext& Context,
41                                   std::string *ErrMsg);
42
43llvm::Module *getLazyBitcodeModule(llvm::MemoryBuffer *Buffer,
44                                   llvm::LLVMContext& Context,
45                                  std::string *ErrMsg);
46} // End llvm_3_0 namespace
47
48#endif
49