Add support for inserting all prototypes up-front
llvm-svn: 13431
This commit is contained in:
parent
2484a6336f
commit
e7cc64f6e7
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue