[llvm-commits] [poolalloc] r96694 - /poolalloc/trunk/lib/DSA/Local.cpp

Andrew Lenharth alenhar2 at cs.uiuc.edu
Fri Feb 19 11:44:45 PST 2010


Author: alenhar2
Date: Fri Feb 19 13:44:45 2010
New Revision: 96694

URL: http://llvm.org/viewvc/llvm-project?rev=96694&view=rev
Log:
extract value

Modified:
    poolalloc/trunk/lib/DSA/Local.cpp

Modified: poolalloc/trunk/lib/DSA/Local.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/Local.cpp?rev=96694&r1=96693&r2=96694&view=diff

==============================================================================
--- poolalloc/trunk/lib/DSA/Local.cpp (original)
+++ poolalloc/trunk/lib/DSA/Local.cpp Fri Feb 19 13:44:45 2010
@@ -413,8 +413,17 @@
 }
 
 void GraphBuilder::visitExtractValueInst(ExtractValueInst& I) {
-  assert(0 && "Not supported yet");
-  abort();
+  DSNodeHandle Ptr = getValueDest(*I.getOperand(0));
+
+  // Make that the node is read from...
+  Ptr.getNode()->setReadMarker();
+
+  // Ensure a typerecord exists...
+  // FIXME: calculate offset
+  Ptr.getNode()->mergeTypeInfo(I.getType(), 0, false);
+
+  if (isa<PointerType>(I.getType()))
+    setDestTo(I, getLink(Ptr));
 }
 
 void GraphBuilder::visitGetElementPtrInst(User &GEP) {





More information about the llvm-commits mailing list