switch this to bitcode instead of bytecode
llvm-svn: 36867
This commit is contained in:
		
							parent
							
								
									15273e4d91
								
							
						
					
					
						commit
						41528e6e42
					
				| 
						 | 
				
			
			@ -9,6 +9,6 @@
 | 
			
		|||
LEVEL=../..
 | 
			
		||||
TOOLNAME=ModuleMaker
 | 
			
		||||
EXAMPLE_TOOL = 1
 | 
			
		||||
LINK_COMPONENTS := bcwriter
 | 
			
		||||
LINK_COMPONENTS := bitwriter
 | 
			
		||||
 | 
			
		||||
include $(LEVEL)/Makefile.common
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,8 +17,8 @@
 | 
			
		|||
#include "llvm/DerivedTypes.h"
 | 
			
		||||
#include "llvm/Constants.h"
 | 
			
		||||
#include "llvm/Instructions.h"
 | 
			
		||||
#include "llvm/Bytecode/Writer.h"
 | 
			
		||||
#include "llvm/Support/Streams.h"
 | 
			
		||||
#include "llvm/Bitcode/ReaderWriter.h"
 | 
			
		||||
#include <iostream>
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
int main() {
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ int main() {
 | 
			
		|||
  BB->getInstList().push_back(new ReturnInst(Add));
 | 
			
		||||
 | 
			
		||||
  // Output the bytecode file to stdout
 | 
			
		||||
  WriteBytecodeToFile(M, cout);
 | 
			
		||||
  WriteBitcodeToFile(M, std::cout);
 | 
			
		||||
 | 
			
		||||
  // Delete the module and all of its contents.
 | 
			
		||||
  delete M;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@
 | 
			
		|||
#include "llvm/Debugger/Debugger.h"
 | 
			
		||||
#include "llvm/Module.h"
 | 
			
		||||
#include "llvm/ModuleProvider.h"
 | 
			
		||||
#include "llvm/Bytecode/Reader.h"
 | 
			
		||||
#include "llvm/Bitcode/ReaderWriter.h"
 | 
			
		||||
#include "llvm/Debugger/InferiorProcess.h"
 | 
			
		||||
#include "llvm/Support/MemoryBuffer.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -22,8 +21,6 @@
 | 
			
		|||
#include <memory>
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
static bool Bitcode = false;
 | 
			
		||||
 | 
			
		||||
/// Debugger constructor - Initialize the debugger to its initial, empty, state.
 | 
			
		||||
///
 | 
			
		||||
Debugger::Debugger() : Environment(0), Program(0), Process(0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -49,15 +46,11 @@ std::string Debugger::getProgramPath() const {
 | 
			
		|||
 | 
			
		||||
static Module *
 | 
			
		||||
getMaterializedModuleProvider(const std::string &Filename) {
 | 
			
		||||
  if (Bitcode) {
 | 
			
		||||
    return ParseBytecodeFile(Filename);
 | 
			
		||||
  } else {
 | 
			
		||||
    std::auto_ptr<MemoryBuffer> Buffer;
 | 
			
		||||
    Buffer.reset(MemoryBuffer::getFileOrSTDIN(&Filename[0], Filename.size()));
 | 
			
		||||
    if (Buffer.get())
 | 
			
		||||
      return ParseBitcodeFile(Buffer.get());
 | 
			
		||||
    return 0;
 | 
			
		||||
  }
 | 
			
		||||
  std::auto_ptr<MemoryBuffer> Buffer;
 | 
			
		||||
  Buffer.reset(MemoryBuffer::getFileOrSTDIN(&Filename[0], Filename.size()));
 | 
			
		||||
  if (Buffer.get())
 | 
			
		||||
    return ParseBitcodeFile(Buffer.get());
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// loadProgram - If a program is currently loaded, unload it.  Then search
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
//
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
//
 | 
			
		||||
// This file contains routines to handle linking together LLVM bytecode files,
 | 
			
		||||
// This file contains routines to handle linking together LLVM bitcode files,
 | 
			
		||||
// and to handle annoying things like static libraries.
 | 
			
		||||
//
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
#include "llvm/Module.h"
 | 
			
		||||
#include "llvm/ModuleProvider.h"
 | 
			
		||||
#include "llvm/ADT/SetOperations.h"
 | 
			
		||||
#include "llvm/Bytecode/Archive.h"
 | 
			
		||||
#include "llvm/Bitcode/Archive.h"
 | 
			
		||||
#include "llvm/Config/config.h"
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <set>
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +96,7 @@ Linker::LinkInArchive(const sys::Path &Filename, bool &is_native) {
 | 
			
		|||
  // Open the archive file
 | 
			
		||||
  verbose("Linking archive file '" + Filename.toString() + "'");
 | 
			
		||||
 | 
			
		||||
  // Find all of the symbols currently undefined in the bytecode program.
 | 
			
		||||
  // Find all of the symbols currently undefined in the bitcode program.
 | 
			
		||||
  // If all the symbols are defined, the program is complete, and there is
 | 
			
		||||
  // no reason to link in any archive files.
 | 
			
		||||
  std::set<std::string> UndefinedSymbols;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,16 +13,12 @@
 | 
			
		|||
 | 
			
		||||
#include "llvm/Linker.h"
 | 
			
		||||
#include "llvm/Module.h"
 | 
			
		||||
#include "llvm/Bytecode/Reader.h"
 | 
			
		||||
#include "llvm/Bitcode/ReaderWriter.h"
 | 
			
		||||
#include "llvm/Config/config.h"
 | 
			
		||||
#include "llvm/Support/MemoryBuffer.h"
 | 
			
		||||
#include "llvm/Support/Streams.h"
 | 
			
		||||
#include "llvm/Support/Compressor.h"
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
static const bool Bitcode = false;
 | 
			
		||||
 | 
			
		||||
Linker::Linker(const std::string& progname, const std::string& modname, unsigned flags)
 | 
			
		||||
  : Composite(0)
 | 
			
		||||
  , LibPaths()
 | 
			
		||||
| 
						 | 
				
			
			@ -107,18 +103,13 @@ Linker::LoadObject(const sys::Path &FN) {
 | 
			
		|||
  Module *Result = 0;
 | 
			
		||||
  
 | 
			
		||||
  const std::string &FNS = FN.toString();
 | 
			
		||||
  if (Bitcode) {
 | 
			
		||||
    std::auto_ptr<MemoryBuffer> Buffer(
 | 
			
		||||
  std::auto_ptr<MemoryBuffer> Buffer(
 | 
			
		||||
                          MemoryBuffer::getFileOrSTDIN(&FNS[0], FNS.size()));
 | 
			
		||||
    if (Buffer.get())
 | 
			
		||||
      Result = ParseBitcodeFile(Buffer.get(), &ParseErrorMessage);
 | 
			
		||||
    else
 | 
			
		||||
      ParseErrorMessage = "Error reading file '" + FNS + "'";
 | 
			
		||||
  if (Buffer.get())
 | 
			
		||||
    Result = ParseBitcodeFile(Buffer.get(), &ParseErrorMessage);
 | 
			
		||||
  else
 | 
			
		||||
    ParseErrorMessage = "Error reading file '" + FNS + "'";
 | 
			
		||||
    
 | 
			
		||||
  } else {
 | 
			
		||||
    Result = ParseBytecodeFile(FNS, Compressor::decompressToNewBuffer,
 | 
			
		||||
                               &ParseErrorMessage);
 | 
			
		||||
  }
 | 
			
		||||
  if (Result)
 | 
			
		||||
    return std::auto_ptr<Module>(Result);
 | 
			
		||||
  Error = "Bytecode file '" + FN.toString() + "' could not be loaded";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue