Hi, I'm encountering a problem with llvm.dbg.declare. My code looks basically like this: if(DbgDeclareInst *dbg = dyn_cast<DbgDeclareInst>(&inst)) { const Value* addr = dbg->getAddress(); const MDNode* mvar = dbg->getVariable(); ... } While the MDNode (mvar) contains the correct information (name of the variable, etc...), getAddress always returns NULL. Am I missing something, or is there some other way to access the variable being declared? NB: this happens when processing the following bitcode: define i32 @fun(i32 %a, float %b) nounwind { entry: %a_addr = alloca i32, align 4 %b_addr = alloca float, align 4 %retval = alloca i32 %0 = alloca i32 %"alloca point" = bitcast i32 0 to i32 call void @llvm.dbg.declare(metadata !{i32* %a_addr}, metadata !8), ! dbg !9 ... !8 = metadata !{i32 524545, metadata !4, metadata !"a", metadata !1, i32 3, metadata !3} ; [ DW_TAG_arg_variable ] .... Best regards, Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110106/868d8a4a/attachment.sig>