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

John Criswell criswell at uiuc.edu
Fri Aug 19 13:26:00 PDT 2011


Author: criswell
Date: Fri Aug 19 15:26:00 2011
New Revision: 138069

URL: http://llvm.org/viewvc/llvm-project?rev=138069&view=rev
Log:
Added support for the memory use marker intrinsics:
llvm.lifetime.start
llvm.lifetime.end
llvm.invariant.start
llvm.invariant.end

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=138069&r1=138068&r2=138069&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/Local.cpp (original)
+++ poolalloc/trunk/lib/DSA/Local.cpp Fri Aug 19 15:26:00 2011
@@ -812,7 +812,20 @@
   N->setModifiedMarker()->setVAStartMarker();
 }
 
-/// returns true if the intrinsic is handled
+///
+/// Method: visitIntrinsic()
+///
+/// Description:
+///   Generate correct DSNodes for calls to LLVM intrinsic functions.
+///
+/// Inputs:
+///   CS - The CallSite representing the call or invoke to the intrinsic.
+///   F  - A pointer to the function called by the call site.
+///
+/// Return value:
+///   true  - This intrinsic is properly handled by this method.
+///   false - This intrinsic is not recognized by DSA.
+///
 bool GraphBuilder::visitIntrinsic(CallSite CS, Function *F) {
   ++NumIntrinsicCall;
   switch (F->getIntrinsicID()) {
@@ -942,6 +955,13 @@
     return true;
   }
 
+  // Process lifetime intrinsics
+  case Intrinsic::lifetime_start:
+  case Intrinsic::lifetime_end:
+  case Intrinsic::invariant_start:
+  case Intrinsic::invariant_end:
+    return true;
+
   default: {
     //ignore pointer free intrinsics
     if (!isa<PointerType>(F->getReturnType())) {





More information about the llvm-commits mailing list