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

Chris Lattner lattner at cs.uiuc.edu
Sat May 8 23:30:20 PDT 2004


Changes in directory llvm/include/llvm:

IntrinsicLowering.h updated: 1.4 -> 1.5

---
Log message:

Add support for inserting all prototypes up-front


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

Index: llvm/include/llvm/IntrinsicLowering.h
diff -u llvm/include/llvm/IntrinsicLowering.h:1.4 llvm/include/llvm/IntrinsicLowering.h:1.5
--- llvm/include/llvm/IntrinsicLowering.h:1.4	Sun Dec 28 15:22:35 2003
+++ llvm/include/llvm/IntrinsicLowering.h	Sat May  8 23:29:49 2004
@@ -37,10 +37,16 @@
 
 namespace llvm {
   class CallInst;
+  class Module;
   
   struct IntrinsicLowering {
     virtual ~IntrinsicLowering() {}
 
+    /// AddPrototypes - This method, if called, causes all of the prototypes
+    /// that might be needed by an intrinsic lowering implementation to be
+    /// inserted into the module specified.
+    virtual void AddPrototypes(Module &M) = 0;
+
     /// LowerIntrinsicCall - This method returns the LLVM function which should
     /// be used to implement the specified intrinsic function call.  If an
     /// intrinsic function must be implemented by the code generator (such as
@@ -59,6 +65,7 @@
   /// implementations should pass any unhandled intrinsics to this
   /// implementation to allow for future extensibility.
   struct DefaultIntrinsicLowering : public IntrinsicLowering {
+    virtual void AddPrototypes(Module &M);
     virtual void LowerIntrinsicCall(CallInst *CI);    
   };
 }





More information about the llvm-commits mailing list