forked from OSchip/llvm-project
llvm.memc* improvements. helps PA a lot in some specmarks
llvm-svn: 27812
This commit is contained in:
parent
49e188d7f7
commit
f70cb84083
|
@ -561,8 +561,13 @@ void GraphBuilder::visitCallSite(CallSite CS) {
|
||||||
// modified. Preserve second graph
|
// modified. Preserve second graph
|
||||||
DSNodeHandle RetNH = getValueDest(**CS.arg_begin());
|
DSNodeHandle RetNH = getValueDest(**CS.arg_begin());
|
||||||
DSNodeHandle SrcNH = getValueDest(**(CS.arg_begin()+1));
|
DSNodeHandle SrcNH = getValueDest(**(CS.arg_begin()+1));
|
||||||
DSNodeHandle Copy( new DSNode(*SrcNH.getNode(), SrcNH.getNode()->getParentGraph()),
|
//copy dsnode
|
||||||
SrcNH.getOffset());
|
DSNode* copy = new DSNode(*SrcNH.getNode(), SrcNH.getNode()->getParentGraph());
|
||||||
|
//since this is the target memory, we only are interested in the links.
|
||||||
|
//the target will not wind up with a global memory object , unless it
|
||||||
|
//was already there (only pointers to global memory objects)
|
||||||
|
copy->clearGlobals();
|
||||||
|
DSNodeHandle Copy( copy, SrcNH.getOffset());
|
||||||
RetNH.mergeWith(Copy);
|
RetNH.mergeWith(Copy);
|
||||||
if (DSNode *N = RetNH.getNode())
|
if (DSNode *N = RetNH.getNode())
|
||||||
N->setModifiedMarker();
|
N->setModifiedMarker();
|
||||||
|
|
Loading…
Reference in New Issue