debug intrinsic documentation

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)
?

and,

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

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.

Thanks,
-mike

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