[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