[PATCH] D41267: [LTO] Write LTO output for empty RegularLTO.ModsWithSummaries

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 15 13:09:17 PST 2017


vitalybuka marked 7 inline comments as done.
vitalybuka added a comment.

In https://reviews.llvm.org/D41267#956380, @mehdi_amini wrote:

> The commit message does not make much sense to me in the context of this C++ API: there is a non-negligible layer between the build and the build system rules and the LTO implementation, i.e. the linker. 
>  Implementing a contract that makes it convenient for your build system in the implementation of the LTO "engine" behind this API looks like leaking abstractions to me.


Updated commit message.



================
Comment at: llvm/include/llvm/LTO/LTO.h:283-284
     bool HasModule = false;
     std::unique_ptr<Module> CombinedModule;
     std::unique_ptr<IRMover> Mover;
 
----------------
pcc wrote:
> Change these to:
> ```
> Module CombinedModule;
> IRMover Mover;
> ```
> and have them be initialized by the `RegularLTOState` constructor in the same way as `LTO::linkRegularLTO` is doing right now.
abandoned


================
Comment at: llvm/include/llvm/LTO/LTO.h:295
     std::vector<AddedModule> ModsWithSummaries;
+    std::string EmptyModuleTargetTriple;
   } RegularLTO;
----------------
pcc wrote:
> Remove this field.
are you askin to merge RegularLTOState and ThinLTOState?


https://reviews.llvm.org/D41267





More information about the llvm-commits mailing list