[llvm-commits] [dragonegg] r131905 - /dragonegg/trunk/src/Backend.cpp

Duncan Sands baldrick at free.fr
Mon May 23 10:11:01 PDT 2011


Author: baldrick
Date: Mon May 23 12:11:01 2011
New Revision: 131905

URL: http://llvm.org/viewvc/llvm-project?rev=131905&view=rev
Log:
Remove a bunch of commented out stuff related to precompiled header support.
This is not relevant to dragonegg: just use gcc's precompiled header support.

Modified:
    dragonegg/trunk/src/Backend.cpp

Modified: dragonegg/trunk/src/Backend.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Backend.cpp?rev=131905&r1=131904&r2=131905&view=diff
==============================================================================
--- dragonegg/trunk/src/Backend.cpp (original)
+++ dragonegg/trunk/src/Backend.cpp Mon May 23 12:11:01 2011
@@ -77,9 +77,6 @@
 #error Unsupported GCC major version
 #endif
 
-// Non-zero if bytecode from PCH is successfully read.
-int flag_llvm_pch_read;
-
 // Non-zero if libcalls should not be simplified.
 int flag_no_simplify_libcalls;
 
@@ -124,8 +121,6 @@
 
 static void createPerFunctionOptimizationPasses();
 static void createPerModuleOptimizationPasses();
-//TODOstatic void destroyOptimizationPasses();
-
 
 //===----------------------------------------------------------------------===//
 //                   Matching LLVM Values with GCC DECL trees
@@ -192,65 +187,6 @@
   llvm_replace_cached(Old, New);
 }
 
-//TODO/// readLLVMValues - Read LLVM Types string table
-//TODOvoid readLLVMValues() {
-//TODO  GlobalValue *V = TheModule->getNamedGlobal("llvm.pch.values");
-//TODO  if (!V)
-//TODO    return;
-//TODO
-//TODO  GlobalVariable *GV = cast<GlobalVariable>(V);
-//TODO  ConstantStruct *ValuesFromPCH = cast<ConstantStruct>(GV->getOperand(0));
-//TODO
-//TODO  for (unsigned i = 0; i < ValuesFromPCH->getNumOperands(); ++i) {
-//TODO    Value *Va = ValuesFromPCH->getOperand(i);
-//TODO
-//TODO    if (!Va) {
-//TODO      // If V is empty then insert NULL to represent empty entries.
-//TODO      LLVMValues.push_back(Va);
-//TODO      continue;
-//TODO    }
-//TODO    if (ConstantArray *CA = dyn_cast<ConstantArray>(Va)) {
-//TODO      std::string Str = CA->getAsString();
-//TODO      Va = TheModule->getValueSymbolTable().lookup(Str);
-//TODO    }
-//TODO    assert (Va != NULL && "Invalid Value in LLVMValues string table");
-//TODO    LLVMValues.push_back(Va);
-//TODO  }
-//TODO
-//TODO  // Now, llvm.pch.values is not required so remove it from the symbol table.
-//TODO  GV->eraseFromParent();
-//TODO}
-//TODO
-//TODO/// writeLLVMValues - GCC tree's uses LLVMValues vector's index to reach LLVM
-//TODO/// Values.  Create a string table to hold these LLVM Values' names. This string
-//TODO/// table will be used to recreate LTypes vector after loading PCH.
-//TODOvoid writeLLVMValues() {
-//TODO  if (LLVMValues.empty())
-//TODO    return;
-//TODO
-//TODO  LLVMContext &Context = getGlobalContext();
-//TODO
-//TODO  std::vector<Constant *> ValuesForPCH;
-//TODO  for (std::vector<Value *>::iterator I = LLVMValues.begin(),
-//TODO         E = LLVMValues.end(); I != E; ++I)  {
-//TODO    if (Constant *C = dyn_cast_or_null<Constant>(*I))
-//TODO      ValuesForPCH.push_back(C);
-//TODO    else
-//TODO      // Non constant values, e.g. arguments, are not at global scope.
-//TODO      // When PCH is read, only global scope values are used.
-//TODO      ValuesForPCH.push_back(Constant::getNullValue(Type::getInt32Ty(Context)));
-//TODO  }
-//TODO
-//TODO  // Create string table.
-//TODO  Constant *LLVMValuesTable = ConstantStruct::get(Context, ValuesForPCH, false);
-//TODO
-//TODO  // Create variable to hold this string table.
-//TODO  new GlobalVariable(*TheModule, LLVMValuesTable->getType(), true,
-//TODO                     GlobalValue::ExternalLinkage,
-//TODO                     LLVMValuesTable,
-//TODO                     "llvm.pch.values");
-//TODO}
-
 /// handleVisibility - Forward decl visibility style to global.
 void handleVisibility(tree decl, GlobalValue *GV) {
   // If decl has visibility specified explicitely (via attribute) - honour
@@ -614,91 +550,6 @@
                                formatted_raw_ostream::PRESERVE_STREAM);
 }
 
-//TODOoFILEstream *AsmIntermediateOutStream = 0;
-//TODO
-//TODO/// llvm_pch_read - Read bytecode from PCH file. Initialize TheModule and setup
-//TODO/// LTypes vector.
-//TODOvoid llvm_pch_read(const unsigned char *Buffer, unsigned Size) {
-//TODO  std::string ModuleName = TheModule->getModuleIdentifier();
-//TODO
-//TODO  delete TheModule;
-//TODO  delete TheDebugInfo;
-//TODO
-//TODO  clearTargetBuiltinCache();
-//TODO
-//TODO  MemoryBuffer *MB = MemoryBuffer::getNewMemBuffer(Size, ModuleName.c_str());
-//TODO  memcpy((char*)MB->getBufferStart(), Buffer, Size);
-//TODO
-//TODO  std::string ErrMsg;
-//TODO  TheModule = ParseBitcodeFile(MB, getGlobalContext(), &ErrMsg);
-//TODO  delete MB;
-//TODO
-//TODO  // FIXME - Do not disable debug info while writing pch.
-//TODO  if (!flag_pch_file && debug_info_level > DINFO_LEVEL_NONE) {
-//TODO    TheDebugInfo = new DebugInfo(TheModule);
-//TODO    TheDebugInfo->Initialize();
-//TODO  }
-//TODO
-//TODO  if (!TheModule) {
-//TODO    errs() << "Error reading bytecodes from PCH file\n";
-//TODO    errs() << ErrMsg << "\n";
-//TODO    exit(1);
-//TODO  }
-//TODO
-//TODO  if (PerFunctionPasses || PerModulePasses) {
-//TODO    destroyOptimizationPasses();
-//TODO
-//TODO    // Don't run codegen, when we should output PCH
-//TODO    if (flag_pch_file)
-//TODO      llvm_pch_write_init();
-//TODO  }
-//TODO
-//TODO  // Read LLVM Types string table
-//TODO  readLLVMTypesStringTable();
-//TODO  readLLVMValues();
-//TODO
-//TODO  flag_llvm_pch_read = 1;
-//TODO}
-//TODO
-//TODO/// llvm_pch_write_init - Initialize PCH writing.
-//TODOvoid llvm_pch_write_init(void) {
-//TODO  timevar_push(TV_LLVM_INIT);
-//TODO  AsmOutStream = new oFILEstream(asm_out_file);
-//TODO  // FIXME: disentangle ostream madness here.  Kill off ostream and FILE.
-//TODO  AsmOutRawStream =
-//TODO    new formatted_raw_ostream(*new raw_os_ostream(*AsmOutStream),
-//TODO                              formatted_raw_ostream::DELETE_STREAM);
-//TODO
-//TODO  PerModulePasses = new PassManager();
-//TODO  PerModulePasses->add(new TargetData(*TheTarget->getTargetData()));
-//TODO
-//TODO  // If writing to stdout, set binary mode.
-//TODO  if (asm_out_file == stdout)
-//TODO    sys::Program::ChangeStdoutToBinary();
-//TODO
-//TODO  // Emit an LLVM .bc file to the output.  This is used when passed
-//TODO  // -emit-llvm -c to the GCC driver.
-//TODO  PerModulePasses->add(createBitcodeWriterPass(*AsmOutStream));
-//TODO
-//TODO  // Disable emission of .ident into the output file... which is completely
-//TODO  // wrong for llvm/.bc emission cases.
-//TODO  flag_no_ident = 1;
-//TODO
-//TODO  flag_llvm_pch_read = 0;
-//TODO
-//TODO  timevar_pop(TV_LLVM_INIT);
-//TODO}
-
-//TODOstatic void destroyOptimizationPasses() {
-//TODO  delete PerFunctionPasses;
-//TODO  delete PerModulePasses;
-//TODO  delete CodeGenPasses;
-//TODO
-//TODO  PerFunctionPasses = 0;
-//TODO  PerModulePasses   = 0;
-//TODO  CodeGenPasses     = 0;
-//TODO}
-
 static void createPerFunctionOptimizationPasses() {
   if (PerFunctionPasses)
     return;
@@ -814,31 +665,6 @@
   }
 }
 
-//TODO/// llvm_asm_file_start - Start the .s file.
-//TODOvoid llvm_asm_file_start(void) {
-//TODO  timevar_push(TV_LLVM_INIT);
-//TODO  AsmOutStream = new oFILEstream(asm_out_file);
-//TODO  // FIXME: disentangle ostream madness here.  Kill off ostream and FILE.
-//TODO  AsmOutRawStream =
-//TODO    new formatted_raw_ostream(*new raw_os_ostream(*AsmOutStream),
-//TODO                              formatted_raw_ostream::DELETE_STREAM);
-//TODO
-//TODO  flag_llvm_pch_read = 0;
-//TODO
-//TODO  if (EmitIR)
-//TODO    // Disable emission of .ident into the output file... which is completely
-//TODO    // wrong for llvm/.bc emission cases.
-//TODO    flag_no_ident = 1;
-//TODO
-//TODO  // If writing to stdout, set binary mode.
-//TODO  if (asm_out_file == stdout)
-//TODO    sys::Program::ChangeStdoutToBinary();
-//TODO
-//TODO  AttributeUsedGlobals.clear();
-//TODO  AttributeCompilerUsedGlobals.clear();
-//TODO  timevar_pop(TV_LLVM_INIT);
-//TODO}
-
 /// ConvertStructorsList - Convert a list of static ctors/dtors to an
 /// initializer suitable for the llvm.global_[cd]tors globals.
 static void CreateStructorsList(std::vector<std::pair<Constant*, int> > &Tors,
@@ -2091,11 +1917,6 @@
   LLVMContext &Context = getGlobalContext();
 
   createPerFunctionOptimizationPasses();
-//TODO
-//TODO  if (flag_pch_file) {
-//TODO    writeLLVMTypesStringTable();
-//TODO    writeLLVMValues();
-//TODO  }
 
 //TODO  for (Module::iterator I = TheModule->begin(), E = TheModule->end();
 //TODO       I != E; ++I)
@@ -2168,33 +1989,6 @@
   if (PerFunctionPasses)
     PerFunctionPasses->doFinalization();
 
-//TODO  // Emit intermediate file before module level optimization passes are run.
-//TODO  if (flag_debug_llvm_module_opt) {
-//TODO
-//TODO    static PassManager *IntermediatePM = new PassManager();
-//TODO    IntermediatePM->add(new TargetData(*TheTarget->getTargetData()));
-//TODO
-//TODO    char asm_intermediate_out_filename[MAXPATHLEN];
-//TODO    strcpy(&asm_intermediate_out_filename[0], llvm_asm_file_name);
-//TODO    strcat(&asm_intermediate_out_filename[0],".0");
-//TODO    FILE *asm_intermediate_out_file = fopen(asm_intermediate_out_filename, "w+b");
-//TODO    AsmIntermediateOutStream = new oFILEstream(asm_intermediate_out_file);
-//TODO    raw_ostream *AsmIntermediateRawOutStream =
-//TODO      new raw_os_ostream(*AsmIntermediateOutStream);
-//TODO    if (EmitIR && 0)
-//TODO      IntermediatePM->add(createBitcodeWriterPass(*AsmIntermediateOutStream));
-//TODO    if (EmitIR)
-//TODO      IntermediatePM->add(createPrintModulePass(AsmIntermediateRawOutStream));
-//TODO    IntermediatePM->run(*TheModule);
-//TODO    AsmIntermediateRawOutStream->flush();
-//TODO    delete AsmIntermediateRawOutStream;
-//TODO    AsmIntermediateRawOutStream = 0;
-//TODO    AsmIntermediateOutStream->flush();
-//TODO    fflush(asm_intermediate_out_file);
-//TODO    delete AsmIntermediateOutStream;
-//TODO    AsmIntermediateOutStream = 0;
-//TODO  }
-
   // Run module-level optimizers, if any are present.
   createPerModuleOptimizationPasses();
   if (PerModulePasses)
@@ -2212,10 +2006,6 @@
 
   FormattedOutStream.flush();
   OutStream->flush();
-//TODO  delete AsmOutRawStream;
-//TODO  AsmOutRawStream = 0;
-//TODO  delete AsmOutStream;
-//TODO  AsmOutStream = 0;
 //TODO  timevar_pop(TV_LLVM_PERFILE);
 
   // We have finished - shutdown the plugin.  Doing this here ensures that timer





More information about the llvm-commits mailing list