LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::IntrinsicLowering Class Reference

#include <IntrinsicLowering.h>

Inheritance diagram for llvm::IntrinsicLowering:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~IntrinsicLowering ()
virtual void AddPrototypes (Module &M)=0
virtual void LowerIntrinsicCall (CallInst *CI)=0

Detailed Description

Definition at line 42 of file IntrinsicLowering.h.


Constructor & Destructor Documentation

virtual llvm::IntrinsicLowering::~IntrinsicLowering  )  [inline, virtual]
 

Definition at line 44 of file IntrinsicLowering.h.


Member Function Documentation

virtual void llvm::IntrinsicLowering::AddPrototypes Module M  )  [pure virtual]
 

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.

Implemented in llvm::DefaultIntrinsicLowering.

virtual void llvm::IntrinsicLowering::LowerIntrinsicCall CallInst CI  )  [pure virtual]
 

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 va_start), this function should print a message and abort.

Otherwise, if an intrinsic function call can be lowered, the code to implement it (often a call to a non-intrinsic function) is inserted _after_ the call instruction and the call is deleted. The caller must be capable of handling this kind of change.

Implemented in llvm::DefaultIntrinsicLowering.

Referenced by llvm::Interpreter::visitCallSite().


The documentation for this class was generated from the following file: