LLVM  mainline
Modules | Defines
Values
Core

The bulk of LLVM's object model consists of values, which comprise a very rich type hierarchy. More...

Collaboration diagram for Values:

Modules

 General APIs
 

Functions in this section work on all LLVMValueRef instances, regardless of their sub-type.


 Usage
 

This module defines functions that allow you to inspect the uses of a LLVMValueRef.


 User value
 

Function in this group pertain to LLVMValueRef instances that descent from llvm::User.


 Constants
 

This section contains APIs for interacting with LLVMValueRef that correspond to llvm::Constant instances.


Defines

#define LLVM_FOR_EACH_VALUE_SUBCLASS(macro)

Detailed Description

The bulk of LLVM's object model consists of values, which comprise a very rich type hierarchy.

LLVMValueRef essentially represents llvm::Value. There is a rich hierarchy of classes within this type. Depending on the instance obtained, not all APIs are available.

Callers can determine the type of an LLVMValueRef by calling the LLVMIsA* family of functions (e.g. LLVMIsAArgument()). These functions are defined by a macro, so it isn't obvious which are available by looking at the Doxygen source code. Instead, look at the source definition of LLVM_FOR_EACH_VALUE_SUBCLASS and note the list of value names given. These value names also correspond to classes in the llvm::Value hierarchy.


Define Documentation

#define LLVM_FOR_EACH_VALUE_SUBCLASS (   macro)

Definition at line 1157 of file Core.h.