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