[PATCH] D51651: [ThinLTO] Fix memory corruption in ThinLTOCodeGenerator when CodeGenOnly was specified

Steven Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 4 13:07:37 PDT 2018


steven_wu added a comment.

I don't think we need another instance of TMBuilder. Can we just call codegenModule directly from run()? TMBuilder should be initialized already from addModule.

  diff --git a/lib/LTO/ThinLTOCodeGenerator.cpp b/lib/LTO/ThinLTOCodeGenerator.cpp
  index 642e538ecf9..90d4422c796 100644
  --- a/lib/LTO/ThinLTOCodeGenerator.cpp
  +++ b/lib/LTO/ThinLTOCodeGenerator.cpp
  @@ -893,7 +893,7 @@ void ThinLTOCodeGenerator::run() {
                                    /*IsImporting*/ false);
  
           // CodeGen
  -        auto OutputBuffer = codegen(*TheModule);
  +        auto OutputBuffer = codegenModule(*TheModule, *TMBuilder.create());
           if (SavedObjectsDirectoryPath.empty())
             ProducedBinaries[count] = std::move(OutputBuffer);
           else


Repository:
  rL LLVM

https://reviews.llvm.org/D51651





More information about the llvm-commits mailing list