[LLVMdev] debug intrinsic documentation

Chris Lattner sabre at nondot.org
Thu Oct 7 20:08:49 PDT 2004


On Thu, 7 Oct 2004, Michael McCracken wrote:
> Hi, I just wanted to doublecheck that the docs on the debugger
> intrinsics as seen on http://llvm.cs.uiuc.edu/docs/Sour
> ceLevelDebugging.html are out of date w.r.t. function types being
> displayed:
>
> ie, shouldn't
> %D1 = call {}* %llvm.dbg.func.start(%lldb.global* %d.main)
>  be
> %D1 = call {}* (%lldb.global*)* %llvm.dbg.func.start(%lldb.global* %d.main)
> ?

Actually these are *exactly* the same thing, which is just shorthand that
the LLVM assembler provides.  The key here is that %llvm.dbg.func.start
actually has type "{}* (%lldb.global*)*".  If you feed the second form
into the assembler and disassemble it, you should get the first form back.

> and,
>
> call {} * %llvm.dbg.DEFINEVARIABLE
> should be
> call {}* %llvm.dbg.declare

Yes, this is correct.

> Finally, is there a convention for naming the variables used to chain
> the debug statements? I'd like to make sure I follow it, if there is
> one.

Nope.  The working reference for what should be generated is the
test/Regression/Debugger/funccall.ll file.  Aside from that, you are free
to establish the conventions as you see fit.  In particular, names inside
of functions have no semantic meaning, so feel free to use whatever makes
sense.

-Chris

-- 
http://llvm.org/
http://nondot.org/sabre/




More information about the llvm-dev mailing list