[llvm] r199835 - Eliminate inappropriate use of FindProgramByName() from lli

Alp Toker alp at nuanti.com
Wed Jan 22 22:07:26 PST 2014


On 23/01/2014 04:57, Nick Lewycky wrote:
> On 22 January 2014 13:52, Alp Toker <alp at nuanti.com 
> <mailto:alp at nuanti.com>> wrote:
>
>     Author: alp
>     Date: Wed Jan 22 15:52:35 2014
>     New Revision: 199835
>
>     URL: http://llvm.org/viewvc/llvm-project?rev=199835&view=rev
>     Log:
>     Eliminate inappropriate use of FindProgramByName() from lli
>
>     Modified:
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll
>         llvm/trunk/test/Makefile
>         llvm/trunk/test/lit.cfg
>         llvm/trunk/test/lit.site.cfg.in <http://lit.site.cfg.in>
>         llvm/trunk/tools/lli/lli.cpp
>
>     Modified:
>     llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
>     URL:
>     http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll?rev=199835&r1=199834&r2=199835&view=diff
>     ==============================================================================
>     --- llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
>     (original)
>     +++ llvm/trunk/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
>     Wed Jan 22 15:52:35 2014
>     @@ -1,4 +1,4 @@
>     -; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll
>     -disable-lazy-compilation=true -remote-mcjit
>     -mcjit-remote-process=lli-child-target %s > /dev/null
>     +; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll
>     -disable-lazy-compilation=true -remote-mcjit
>     -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>
> Hi Alp! Thanks for removing FindProgramByName!
>
> One question about this patch. We don't use "clang%exeext" or 
> "lli%exeext", we use "%clang" or "%lli". I think it would make more 
> sense to create %lli_child_target and use that as the argument. Does 
> that work?

Hi Nick,

lli-child-target is more like a test input that happens to also be a 
byproduct of the build system. As such I've tested it the same way we 
test plugins using the corresponding %shlibext substitution.

The fact it's built with add_llvm_tool() and links in the whole of LLVM 
appears is just another bug that needs fixing so I'd certainly avoid 
giving it a substitution the we do for actual installed tools like 
%clang or %lli. Does that make sense to you?

As an aside, I'm a little disappointed that the remote JIT feature got 
landed and abandoned in its current state. It's still broken on most 
platforms with no apparent effort by the authors to get that fixed. The 
build system doesn't make sense and it's full of empty stubs and 
copy-and-paste code that's slowly diverging from System. The IPC code 
was so way off until Renato fixed it to the point I'm surprised it 
worked. It feels like it was put together by guesswork (and if anyone 
thinks this is harsh, please check out the code)

Alp.

-- 
http://www.nuanti.com
the browser experts




More information about the llvm-commits mailing list