[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes

Patrick Alexander Simmons simmon12 at cs.uiuc.edu
Fri Aug 7 15:18:07 PDT 2009


John Criswell wrote:
> You can sometimes get NULL DSNodes if a previously-run transform pass
> adds pointers to the program but doesn't update DSA while claiming to
> preserve it.  The pool allocation pass, for example, does this: it
> claims to preserve the DSA results (when used for SAFECode) but doesn't
> properly update the DSGraph when it adds pool handles.  Therefore, if
> you try to get the DSNode of a Pool Handle pointer, you get a NULL DSNode.
>
> I don't know if this is what you're seeing, but it's a potential reason.
>
> -- John T.
>   
No, that's not it.  This is happening before pool allocation has been 
run.  It sounds like this is something that shouldn't be happening; I'll 
look into why it is.

--Patrick



More information about the llvm-dev mailing list