[llvm] r256302 - Disable use list order on the gold plugin.

Duncan P. N. Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 14:48:35 PST 2016


> On 2016-Jan-12, at 14:06, David Blaikie <dblaikie at gmail.com> wrote:
> 
> 
> 
> On Tue, Dec 22, 2015 at 3:45 PM, Rafael Espindola via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> Author: rafael
> Date: Tue Dec 22 17:45:49 2015
> New Revision: 256302
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=256302&view=rev
> Log:
> Disable use list order on the gold plugin.
> 
> Duncan - I thought in the end the use-list preservetion ended up as opt-in and only the LLVM dev tools (llc, opt, etc) were opting in to use-list preservation. Did I misunderstand/mis-recall how that all went? Did this case just get missed? Are there any other cases we should double check?

Either I or someone else must have assumed that saveBCFile() was only
used when trying to reproduce problems in LTO -- i.e., a non-production
workflow, where reproducibility is most important.

That might even be a valid assumption, but Rafael doesn't think it's
worth the extra time?

> It turns out that his is *really* slow. With this change the link of
> clang with plugin-opt=emit-llvm goes from 41 to 26 seconds.

Rafael, are you saying the full LTO optimization pipeline only takes 26
seconds on clang!?  (What am I missing?)

> We can add an option to enable it again if needed.
> 
> Modified:
>     llvm/trunk/tools/gold/gold-plugin.cpp
> 
> Modified: llvm/trunk/tools/gold/gold-plugin.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gold/gold-plugin.cpp?rev=256302&r1=256301&r2=256302&view=diff
> ==============================================================================
> --- llvm/trunk/tools/gold/gold-plugin.cpp (original)
> +++ llvm/trunk/tools/gold/gold-plugin.cpp Tue Dec 22 17:45:49 2015
> @@ -756,7 +756,7 @@ static void saveBCFile(StringRef Path, M
>    raw_fd_ostream OS(Path, EC, sys::fs::OpenFlags::F_None);
>    if (EC)
>      message(LDPL_FATAL, "Failed to write the output file.");
> -  WriteBitcodeToFile(&M, OS, /* ShouldPreserveUseListOrder */ true);
> +  WriteBitcodeToFile(&M, OS, /* ShouldPreserveUseListOrder */ false);
>  }
> 
>  static void codegen(std::unique_ptr<Module> M) {
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 



More information about the llvm-commits mailing list