<html><body><p><font size="2">Patch available on Phabricator (</font><a href="https://reviews.llvm.org/D38517"><font size="2">https://reviews.llvm.org/D38517</font></a><font size="2">).</font><br><br><font size="2">Graham Yiu<br>LLVM Compiler Development<br>IBM Toronto Software Lab<br>Office: (905) 413-4077      C2-707/8200/Markham<br>Email: gyiu@ca.ibm.com</font><br><br><img width="16" height="16" src="cid:1__=8FBB0B3DDFE4AF858f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for Teresa Johnson ---10/03/2017 04:29:20 PM---Hi Graham, This looks like an oversight. Agree that the wa"><font size="2" color="#424282">Teresa Johnson ---10/03/2017 04:29:20 PM---Hi Graham, This looks like an oversight. Agree that the way of passing options through</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Teresa Johnson <tejohnson@google.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Graham Yiu <gyiu@ca.ibm.com></font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">Davide Italiano <davide@freebsd.org>, llvm-dev <llvm-dev@lists.llvm.org>, Davide Italiano <davide.italiano@gmail.com></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">10/03/2017 04:29 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [llvm-dev] New Pass Manager with flto[=thin] not enabled (??)</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br>Hi Graham,<br><br>This looks like an oversight. Agree that the way of passing options through to the linkers is not great as it requires adding plumbing through the driver. But I think that is the best option for now. It would entail adding a gold-plugin option that would be set from the clang driver and using that to set Conf.UseNewPM. Do you want to send this patch?<br><br>Thanks,<br>Teresa<br><br>On Tue, Oct 3, 2017 at 12:38 PM, Graham Yiu via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></a>> wrote:
<ul><font size="2">Hi David,</font><br><font size="2"><br>Hi David,</font><br><font size="2"><br>So I should note that we're only interested in the gold linker with LTO/thinLTO. It didn't occur to me at the time that we also need to account for lld.</font><br><font size="2"><br>I noticed the current way of passing options to gold plugin is slightly hacky, in that there are handful of options we define and pass to gold specifically like -O<#> or -mcpu=[arch]. This seems like it'll be a maintenance nightmare in the future.</font><br><font size="2"><br>Also, are there ways to embed options into bitcode files from the compile step?</font><br><font size="2"><br>Graham Yiu<br>LLVM Compiler Development<br>IBM Toronto Software Lab<br>Office: </font><a href="tel:(905)%20413-4077" target="_blank"><u><font size="2" color="#0000FF">(905) 413-4077</font></u></a><font size="2"> C2-707/8200/Markham<br>Email: </font><a href="mailto:gyiu@ca.ibm.com" target="_blank"><u><font size="2" color="#0000FF">gyiu@ca.ibm.com</font></u></a><br><br><img src="cid:1__=8FBB0B3DDFE4AF858f9e8a93df938690918c8FB@" width="16" height="16" alt="Inactive hide details for Davide Italiano ---10/03/2017 03:14:18 PM---On Tue, Oct 3, 2017 at 12:08 PM, Davide Italiano <davide@"><font size="2" color="#424282">Davide Italiano ---10/03/2017 03:14:18 PM---On Tue, Oct 3, 2017 at 12:08 PM, Davide Italiano <</font><a href="mailto:davide@freebsd.org" target="_blank"><u><font size="2" color="#0000FF">davide@freebsd.org</font></u></a><font size="2" color="#424282">> wrote: > On Tue, Oct 3, 2017 a</font><br><font size="2" color="#5F5F5F"><br>From: </font><font size="2">Davide Italiano <</font><a href="mailto:davide@freebsd.org" target="_blank"><u><font size="2" color="#0000FF">davide@freebsd.org</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>To: </font><font size="2">Graham Yiu <</font><a href="mailto:gyiu@ca.ibm.com" target="_blank"><u><font size="2" color="#0000FF">gyiu@ca.ibm.com</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>Cc: </font><font size="2">llvm-dev <</font><a href="mailto:llvm-dev@lists.llvm.org" target="_blank"><u><font size="2" color="#0000FF">llvm-dev@lists.llvm.org</font></u></a><font size="2">></font><font size="2" color="#5F5F5F"><br>Date: </font><font size="2">10/03/2017 03:14 PM</font><font size="2" color="#5F5F5F"><br>Subject: </font><font size="2">Re: [llvm-dev] New Pass Manager with flto[=thin] not enabled (??)</font><font size="2" color="#5F5F5F"><br>Sent by: </font><a href="mailto:davide.italiano@gmail.com" target="_blank"><u><font size="2" color="#0000FF">davide.italiano@gmail.com</font></u></a><br><hr width="100%" size="2" align="left" noshade><br><br><br><tt><font size="2"><br>On Tue, Oct 3, 2017 at 12:08 PM, Davide Italiano <</font></tt><a href="mailto:davide@freebsd.org" target="_blank"><tt><u><font size="2" color="#0000FF">davide@freebsd.org</font></u></tt></a><tt><font size="2">> wrote:<br>> On Tue, Oct 3, 2017 at 11:57 AM, Graham Yiu via llvm-dev<br>> <</font></tt><a href="mailto:llvm-dev@lists.llvm.org" target="_blank"><tt><u><font size="2" color="#0000FF">llvm-dev@lists.llvm.org</font></u></tt></a><tt><font size="2">> wrote:<br>>> Hello,<br>>><br>>> I recently noticed that the new pass manager was not enabled at regular/thin<br>>> LTO link step even if '-fexperimental-new-pass-manager' was specified in the<br>>> compile step and link step commands. Upon closer inspection, it seems<br>>> there's so real way to invoke the new pass manager path ('runNewPMPasses' in<br>>> lib/LTO/LTOBackend.cpp) during link step.<br>>><br>><br>> `-fexperimental-new-pass-manager` is a compile time flag and has no<br>> effect on the link step IIRC.<br>> You may want to teach the driver to pass the correct flag to the LTO<br>> plugin in gold or to lld.<br>><br>> --<br>> Davide<br><br>For lld in particular, currently there's only the ability to specifiy<br>a custom pass pipeline when passing `--lto-newpm-passes` to the<br>linker. This is because, historically, when I added this flag, the<br>pass manager work was still in progress and the `-O2/LTO` pipeline<br>wasn't fleshed entirely (missing passes & functionality).<br>You can probably add the option to lld now, if you can't/don't know<br>how to do it, I may take a look this weekend.<br><br>Thanks,<br><br>-- <br>Davide<br><br>"There are no solved problems; there are only problems that are more<br>or less solved" -- Henri Poincare<br></font></tt><br><br><br><br><br>_______________________________________________<br>LLVM Developers mailing list<u><font color="#0000FF"><br></font></u><a href="mailto:llvm-dev@lists.llvm.org"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></a><u><font color="#0000FF"><br></font></u><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=4ST7e3kMd0GTi3w9ByK5Cw&m=kxVutuWI4qY55y2bL4zzFnsrZMImCcxJxj5AhJld9eo&s=N3ZwNU9CNl7OOv-3EjGNrkDEIY-lr0JcPM4lD3DXOnc&e=" target="_blank"><u><font color="#0000FF">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</font></u></a><br></ul><br><br><br>-- 
<table border="1"><tr valign="top"><td width="90" valign="middle"><font size="2" color="#555555">Teresa Johnson |</font></td><td width="105" valign="middle"><font size="2" color="#555555"> Software Engineer |</font></td><td width="136" valign="middle"><font size="2" color="#555555"> </font><a href="mailto:tejohnson@google.com" target="_blank"><u><font size="2" color="#0000FF">tejohnson@google.com</font></u></a><font size="2" color="#555555"> |</font></td><td width="71" valign="middle"><font size="2" color="#555555"> 408-460-2413</font></td></tr></table><br><br><BR>
</body></html>