It's not obvious, but lto_module_create_from_memory doesn't need to use the
authorNick Lewycky <nicholas@mxc.ca>
Thu, 5 Feb 2009 05:36:01 +0000 (05:36 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Thu, 5 Feb 2009 05:36:01 +0000 (05:36 +0000)
buffer after it creates the Module. Thus, we don't need to store this pointer
in claimed_file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63834 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gold/gold-plugin.cpp

index 6f579fe370e03b9ddbd5b69dff7e3d91427d9cb1..d41cd812bc9c2c6f90a77d307d0c86a9162bfc72 100644 (file)
@@ -45,7 +45,6 @@ namespace {
   struct claimed_file {
     lto_module_t M;
     void *handle;
-    void *buf;
     std::vector<ld_plugin_symbol> syms;
   };
 
@@ -197,7 +196,6 @@ ld_plugin_status claim_file_hook(const ld_plugin_input_file *file,
 
   cf.M = buf ? lto_module_create_from_memory(buf, file->filesize) :
                lto_module_create(file->name);
-  cf.buf = buf;
   if (!cf.M) {
     (*message)(LDPL_ERROR, "Failed to create LLVM module: %s",
                lto_get_error_message());
@@ -334,10 +332,6 @@ ld_plugin_status all_symbols_read_hook(void) {
   objFile->close();
 
   lto_codegen_dispose(cg);
-  for (std::list<claimed_file>::iterator I = Modules.begin(),
-       E = Modules.end(); I != E; ++I) {
-    free(I->buf);
-  }
 
   if ((*add_input_file)(const_cast<char*>(uniqueObjPath.c_str())) != LDPS_OK) {
     (*message)(LDPL_ERROR, "Unable to add .o file to the link.");