LLVM 19.0.0git
Modules | Macros

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.
 

Macros

#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.

Macro Definition Documentation

◆ LLVM_FOR_EACH_VALUE_SUBCLASS

#define LLVM_FOR_EACH_VALUE_SUBCLASS (   macro)

Definition at line 1708 of file Core.h.