aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/IntrinsicLowering.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-05-09 04:29:49 +0000
committerChris Lattner <sabre@nondot.org>2004-05-09 04:29:49 +0000
commit43c81f19ee791760ac2079886e76dfdfed58dc72 (patch)
treeef5f8c06387abcb8b0661ca3c9af2963c50d28c2 /include/llvm/CodeGen/IntrinsicLowering.h
parenta05e0ec4197908e5c9caa5ec5c47f3c143086247 (diff)
downloadexternal_llvm-43c81f19ee791760ac2079886e76dfdfed58dc72.zip
external_llvm-43c81f19ee791760ac2079886e76dfdfed58dc72.tar.gz
external_llvm-43c81f19ee791760ac2079886e76dfdfed58dc72.tar.bz2
Add support for inserting all prototypes up-front
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13431 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/IntrinsicLowering.h')
-rw-r--r--include/llvm/CodeGen/IntrinsicLowering.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/IntrinsicLowering.h b/include/llvm/CodeGen/IntrinsicLowering.h
index 19ccb61..43a4c99 100644
--- a/include/llvm/CodeGen/IntrinsicLowering.h
+++ b/include/llvm/CodeGen/IntrinsicLowering.h
@@ -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 @@ namespace llvm {
/// 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);
};
}