[LLVMdev] getScalarMap

Chris Lattner sabre at nondot.org
Wed Nov 20 11:13:00 PST 2002


> 	......
> 	DSGraph* DSG = getAnalysis<BUDataStructures>().getDSGraph( F );
> 	std::map< Value*, DSNodeHandle> scalarmap = DSG->getScalarMap();
> 	......
>
> The scalarmap is always empty. I printed the size of the map which came
> out to be zero always. But the getNodeForValue works correctly for the
> same DSG, which means that the scalarmap cannot be empty. But we always
> have an empty scalarmap being returned.

Try capturing a reference to the map instead of copying it:

std::map<Value*, DSNodeHandle> &scalarmap = DSG->getScalarMap();

-Chris


> On Wed, 20 Nov 2002, Chris Lattner wrote:
>
> > > I tried to used the getScalarMap function of the DSGraph to get the nodes
> > > that the scalars point to in a function. But the getScalarMap returns a
> > > null map always. Is there any problem in the getScalarMap function or is
> > > there any "protocol" to be followed while using the function?
> >
> > DSGraph::getScalarMap returns a reference to the map, so this cannot be
> > null.  Do you mean that all of the "entries" in the map are null?  If so,
> > remember that DSGraphs are built in the context of some function (as
> > indicated by hasFunction/getFunction), so only scalars in that context
> > will be in the map...
> >
> > -Chris
> >
> > --
> > http://llvm.cs.uiuc.edu/
> > http://www.nondot.org/~sabre/Projects/
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
>
> Graduate Research Assistant
> Computer Science
> University of Illinois, Champaign-Urbana
>

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/




More information about the llvm-dev mailing list