[Lldb-commits] [PATCH] D19124: [LLDB] Added support for PHI nodes to IR interpreter

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Thu May 12 14:45:27 PDT 2016


> On May 12, 2016, at 2:25 PM, Cameron <cameron at moodycamel.com> wrote:
> 
> Sorry to break the build! Apparently 'make clean' isn't executing cleanly during the build step of the test, but I haven't the faintest idea why. It builds/runs fine locally for me (then again, I'm on Windows). The makefile is dead simple, and is identical to that of some other tests. Has anyone seen something like this before?
> 
> Ah, I would have written a test using the APIs if I knew. I didn't see any other similar tests that set up LLDB from scratch without going through the command line. For reference, can you point me to one of these tests I can use as an example for the next time?

expression_command/fixits/TestFixIts.py is one.  It makes a target, runs it hits breakpoints and does some other stuff.  Most of the Python API tests start by creating the target in Python - whereas the command-line tests tend to use the file command.  So you can find lots of examples by searching for the string "self.dbg.CreateTarget" in all the .py files.

Jim 

> 
> On Thu, May 12, 2016 at 5:17 PM, Jim Ingham <jingham at apple.com> wrote:
> Note that while adding a "expr --allow-jit" flag to control this was great, there already was an SBExpressionOptions option and the appropriate flags available for this, so it was testable.  I was just checking because there really shouldn't be anything we can do from a command that we can't do from the SB API's, but in this case the thing was already in the expression options.
> 
> We do prefer not to write tests with the command line when you can do it with the Python API's.  In our experience, command line tests have tended to be more fragile.  It's not necessary to change the test, there are plenty of other command line tests lying around.  Just for future reference...
> 
> Jim
> 
> > On May 9, 2016, at 1:01 PM, Sean Callanan via lldb-commits <lldb-commits at lists.llvm.org> wrote:
> >
> > spyffe accepted this revision.
> > spyffe added a comment.
> > This revision is now accepted and ready to land.
> >
> > This patch is fine.  I especially appreciate the time you took making the IRInterpreter properly testable.  I will use this myself.
> >
> >
> > ================
> > Comment at: source/Commands/CommandObjectExpression.cpp:67
> > @@ -67,1 +66,3 @@
> > +    { LLDB_OPT_SET_1 | LLDB_OPT_SET_2, false, "top-level",          'p', OptionParser::eNoArgument      , NULL, NULL, 0, eArgTypeNone,       "Interpret the expression as top-level definitions rather than code to be immediately executed."},
> > +    { LLDB_OPT_SET_1 | LLDB_OPT_SET_2, false, "allow-jit",          'j', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeBoolean,    "Controls whether the expression can fall back to being JITted if it's not supported by the interpreter (defaults to true)."}
> > };
> > ----------------
> > This is a great feature which I will use in test cases.
> >
> > ================
> > Comment at: source/Expression/IRInterpreter.cpp:1102
> > @@ -1058,1 +1101,3 @@
> > +            }
> > +            break;
> >             case Instruction::GetElementPtr:
> > ----------------
> > Looks all right to me.  Thank you!
> >
> >
> > http://reviews.llvm.org/D19124
> >
> >
> >
> > _______________________________________________
> > lldb-commits mailing list
> > lldb-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> 
> 



More information about the lldb-commits mailing list