[llvm-commits] CVS: llvm/include/llvm/IntrinsicInst.h

Chris Lattner lattner at cs.uiuc.edu
Thu Nov 18 13:41:31 PST 2004



Changes in directory llvm/include/llvm:

IntrinsicInst.h updated: 1.2 -> 1.3
---
Log message:

Add support for llvm.dbg.stoppoint


---
Diffs of the changes:  (+27 -0)

Index: llvm/include/llvm/IntrinsicInst.h
diff -u llvm/include/llvm/IntrinsicInst.h:1.2 llvm/include/llvm/IntrinsicInst.h:1.3
--- llvm/include/llvm/IntrinsicInst.h:1.2	Mon Oct 11 23:45:20 2004
+++ llvm/include/llvm/IntrinsicInst.h	Thu Nov 18 15:41:16 2004
@@ -42,6 +42,33 @@
     static Value *StripPointerCasts(Value *Ptr);
   };
 
+  /// DbgStopPointInst - This represent llvm.dbg.stoppoint instructions.
+  ///
+  struct DbgStopPointInst : public IntrinsicInst {
+
+    Value *getChain() const { return const_cast<Value*>(getOperand(1)); }
+    unsigned getLineNo() const {
+      return cast<ConstantInt>(getOperand(2))->getRawValue();
+    }
+    unsigned getColNo() const {
+      return cast<ConstantInt>(getOperand(3))->getRawValue();
+    }
+    Value *getContext() const { return const_cast<Value*>(getOperand(4)); }
+
+   
+    // Methods for support type inquiry through isa, cast, and dyn_cast:
+    static inline bool classof(const DbgStopPointInst *) { return true; }
+    static inline bool classof(const CallInst *I) {
+      if (const Function *CF = I->getCalledFunction())
+        return CF->getIntrinsicID() == Intrinsic::dbg_stoppoint;
+      return false;
+    }
+    static inline bool classof(const Value *V) {
+      return isa<CallInst>(V) && classof(cast<CallInst>(V));
+    }
+  };
+
+
 
   /// MemIntrinsic - This is the common base class for memset/memcpy/memmove.
   ///






More information about the llvm-commits mailing list