[LLVMdev] debugging info questions

Michael McCracken michael.mccracken at gmail.com
Mon Oct 4 21:25:52 PDT 2004


Hi, It's taking me a while to get familiar with the cfe in order to
add emitting stop points for debugging. It's a lot to work through, so
in order to speed things up, I've got a few questions. Any help would
be appreciated.

I understand the design of the intrinsics once they're in the code,
but how to generate them is still a little fuzzy, mainly because
llvm_expand is a little complicated. (I blame C++).

- I can see how I would generate the calls to the llvm.dbg.stoppoint
intrinsic, but it isn't as clear how I'd generate the global anchors,
string constants, or compile_unit constants.

- What types are the ones declared as {}* ? It isn't void, but I don't
see a type declaration for it in llvm* in the cfe.

- I understand how the def-use links work to chain the debug
statements together, but on a strictly time-saving basis, it seems
like it'd still be valid to only insert stoppoints and not
declarations - just less useful. Is that the case, or would it be
invalid asm?

My motivation here is that I need line numbers, but not for use in the
debugger, so declaration type info is not really important to me right
now. (Although I'd love to help make the debugger fully useful)

-mike




More information about the llvm-dev mailing list