LLVM
8.0.1
|
The bulk of LLVM's object model consists of values, which comprise a very rich type hierarchy. More...
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. | |
Macros | |
#define | LLVM_FOR_EACH_VALUE_SUBCLASS(macro) |
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.