<div dir="ltr">Awesome, and no problem. Thanks for the super quick update.</div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jun 25, 2017 at 11:51 PM Tobias Grosser <<a href="mailto:tobias.grosser@inf.ethz.ch">tobias.grosser@inf.ethz.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">r306275.<br>
<br>
Thank you again!<br>
Tobias<br>
<br>
On Mon, Jun 26, 2017, at 08:31 AM, Tobias Grosser via llvm-commits<br>
wrote:<br>
> On Mon, Jun 26, 2017, at 08:25 AM, Chandler Carruth via llvm-commits<br>
> wrote:<br>
> > On Sat, Jun 24, 2017 at 1:10 AM Tobias Grosser via llvm-commits <<br>
> > <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> ><br>
> > > Author: grosser<br>
> > > Date: Sat Jun 24 03:09:33 2017<br>
> > > New Revision: 306208<br>
> > ><br>
> > > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=306208&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=306208&view=rev</a><br>
> > > Log:<br>
> > > Ensure backends available in 'opt' are also available in 'bugpoint'<br>
> > ><br>
> > > This patch links LLVM back-ends into bugpoint the same way they are already<br>
> > > available in 'opt' and 'clang'. This resolves an inconsistency that<br>
> > > allowed the<br>
> > > use of LLVM backends in loadable modules that run in 'opt', but that would<br>
> > > prevent the debugging of these modules with bugpoint due to unavailable /<br>
> > > unresolved symbols.<br>
> > ><br>
> > > For e.g. In D31859, Polly requires the NVPTX back-end.<br>
> > ><br>
> > > Reviewers: hfinkel, bogner, chandlerc, grosser, Meinersbur<br>
> > ><br>
> > > Subscribers: bollu, mgorny, grosser, Meinersbur<br>
> > ><br>
> > > Tags: #polly<br>
> > ><br>
> > > Contributed by: Singapuram Sanjay<br>
> > ><br>
> > > Differential Revision: <a href="https://reviews.llvm.org/D32003" rel="noreferrer" target="_blank">https://reviews.llvm.org/D32003</a><br>
> > ><br>
> > > Modified:<br>
> > >     llvm/trunk/tools/bugpoint/CMakeLists.txt<br>
> > >     llvm/trunk/tools/bugpoint/LLVMBuild.txt<br>
> > >     llvm/trunk/tools/bugpoint/bugpoint.cpp<br>
> > ><br>
> > > Modified: llvm/trunk/tools/bugpoint/CMakeLists.txt<br>
> > > URL:<br>
> > > <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=306208&r1=306207&r2=306208&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=306208&r1=306207&r2=306208&view=diff</a><br>
> > ><br>
> > > ==============================================================================<br>
> > > --- llvm/trunk/tools/bugpoint/CMakeLists.txt (original)<br>
> > > +++ llvm/trunk/tools/bugpoint/CMakeLists.txt Sat Jun 24 03:09:33 2017<br>
> > > @@ -1,4 +1,5 @@<br>
> > >  set(LLVM_LINK_COMPONENTS<br>
> > > +  ${LLVM_TARGETS_TO_BUILD}<br>
> > >    Analysis<br>
> > >    BitWriter<br>
> > >    CodeGen<br>
> > ><br>
> > > Modified: llvm/trunk/tools/bugpoint/LLVMBuild.txt<br>
> > > URL:<br>
> > > <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/LLVMBuild.txt?rev=306208&r1=306207&r2=306208&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/LLVMBuild.txt?rev=306208&r1=306207&r2=306208&view=diff</a><br>
> > ><br>
> > > ==============================================================================<br>
> > > --- llvm/trunk/tools/bugpoint/LLVMBuild.txt (original)<br>
> > > +++ llvm/trunk/tools/bugpoint/LLVMBuild.txt Sat Jun 24 03:09:33 2017<br>
> > > @@ -30,3 +30,4 @@ required_libraries =<br>
> > >   Linker<br>
> > >   ObjCARC<br>
> > >   Scalar<br>
> > > + all-targets<br>
> > ><br>
> > > Modified: llvm/trunk/tools/bugpoint/bugpoint.cpp<br>
> > > URL:<br>
> > > <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/bugpoint.cpp?rev=306208&r1=306207&r2=306208&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/bugpoint.cpp?rev=306208&r1=306207&r2=306208&view=diff</a><br>
> > ><br>
> > > ==============================================================================<br>
> > > --- llvm/trunk/tools/bugpoint/bugpoint.cpp (original)<br>
> > > +++ llvm/trunk/tools/bugpoint/bugpoint.cpp Sat Jun 24 03:09:33 2017<br>
> > > @@ -26,6 +26,7 @@<br>
> > >  #include "llvm/Support/PrettyStackTrace.h"<br>
> > >  #include "llvm/Support/Process.h"<br>
> > >  #include "llvm/Support/Signals.h"<br>
> > > +#include "llvm/Support/TargetSelect.h"<br>
> > >  #include "llvm/Support/Valgrind.h"<br>
> > >  #include "llvm/Transforms/IPO/AlwaysInliner.h"<br>
> > >  #include "llvm/Transforms/IPO/PassManagerBuilder.h"<br>
> > > @@ -138,6 +139,14 @@ int main(int argc, char **argv) {<br>
> > >    polly::initializePollyPasses(Registry);<br>
> > >  #endif<br>
> > ><br>
> > > +  if (std::getenv("bar") == (char*) -1) {<br>
> > > +    InitializeAllTargets();<br>
> > > +    InitializeAllTargetMCs();<br>
> > > +    InitializeAllAsmPrinters();<br>
> > > +    InitializeAllAsmParsers();<br>
> > > +    InitializeAllDisassemblers();<br>
> > ><br>
> ><br>
> > Why would it need *dis*assemblers? Doesn't really make sense. It also<br>
> > doesn't match the initialization in the 'opt' tool...<br>
><br>
> Right. This was an oversight. I will drop the Disassemblers. opt has<br>
> indeed only:<br>
><br>
>   InitializeAllTargets();<br>
>   InitializeAllTargetMCs();<br>
>   InitializeAllAsmPrinters();<br>
>   InitializeAllAsmParsers();<br>
><br>
> Best,<br>
> Tobias<br>
><br>
> ><br>
> ><br>
> > > +  }<br>
> > > +<br>
> > >    cl::ParseCommandLineOptions(argc, argv,<br>
> > >                                "LLVM automatic testcase reducer.<br>
> > > See\nhttp://"<br>
> > >                                "<a href="http://llvm.org/cmds/bugpoint.html" rel="noreferrer" target="_blank">llvm.org/cmds/bugpoint.html</a>"<br>
> > ><br>
> > ><br>
> > > _______________________________________________<br>
> > > llvm-commits mailing list<br>
> > > <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> > > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
> > ><br>
> > _______________________________________________<br>
> > llvm-commits mailing list<br>
> > <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>