[llvm] r285413 - [lli] Pass command line arguments in to the orc-lazy JIT.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 10 16:23:24 PST 2016


Nope - this sounds good to me. Thanks Davide!

- Lang.

On Mon, Oct 31, 2016 at 9:34 AM, Davide Italiano <davide at freebsd.org> wrote:

> On Fri, Oct 28, 2016 at 9:52 AM, Lang Hames via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> > Author: lhames
> > Date: Fri Oct 28 11:52:34 2016
> > New Revision: 285413
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=285413&view=rev
> > Log:
> > [lli] Pass command line arguments in to the orc-lazy JIT.
> >
> > This brings the LLI orc-lazy JIT's behavior more closely in-line with
> LLI's
> > mcjit bahavior.
> >
> > Modified:
> >     llvm/trunk/tools/lli/OrcLazyJIT.cpp
> >     llvm/trunk/tools/lli/OrcLazyJIT.h
> >     llvm/trunk/tools/lli/lli.cpp
> >
> > Modified: llvm/trunk/tools/lli/OrcLazyJIT.cpp
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/
> OrcLazyJIT.cpp?rev=285413&r1=285412&r2=285413&view=diff
> > ============================================================
> ==================
> > --- llvm/trunk/tools/lli/OrcLazyJIT.cpp (original)
> > +++ llvm/trunk/tools/lli/OrcLazyJIT.cpp Fri Oct 28 11:52:34 2016
> > @@ -104,8 +104,8 @@ static PtrTy fromTargetAddress(JITTarget
> >    return reinterpret_cast<PtrTy>(static_cast<uintptr_t>(Addr));
> >  }
> >
> > -int llvm::runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms, int
> ArgC,
> > -                        char* ArgV[]) {
> > +int llvm::runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms,
> > +                        const std::vector<std::string> &Args) {
> >    // Add the program's symbols into the JIT's search space.
> >    if (sys::DynamicLibrary::LoadLibraryPermanently(nullptr)) {
> >      errs() << "Error loading program symbols.\n";
> > @@ -152,7 +152,10 @@ int llvm::runOrcLazyJIT(std::vector<std:
> >    }
> >
> >    typedef int (*MainFnPtr)(int, char*[]);
> > +  std::vector<const char *> ArgV;
> > +  for (auto &Arg : Args)
> > +    ArgV.push_back(Arg.c_str());
> >    auto Main = fromTargetAddress<MainFnPtr>(MainSym.getAddress());
> > -  return Main(ArgC, ArgV);
> > +  return Main(ArgV.size(), (char**)ArgV.data());
> >  }
>
> Hi Lang, gcc6.1 complained about a `const` qualifier being stripped.
> No bots failed because we haven't such a configuration, but I care a
> bit because I build with gcc7 (trunk) and -Werror.
> I checked in a fix as r285592. Please let me know if it doesn't make
> sense to you.
>
> Thanks!
>
> --
> Davide
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161110/c59b3dd4/attachment.html>


More information about the llvm-commits mailing list