| //===-------- llvm/IR/Value.def - File that describes Values ---v-*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file contains descriptions of the various LLVM values. This is |
| // used as a central place for enumerating the different values. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // NOTE: NO INCLUDE GUARD DESIRED! |
| |
| // Provide definitions of macros so that users of this file do not have to |
| // define everything to use it... |
| // |
| #if !(defined HANDLE_GLOBAL_VALUE || defined HANDLE_CONSTANT || \ |
| defined HANDLE_INSTRUCTION || defined HANDLE_INLINE_ASM_VALUE || \ |
| defined HANDLE_METADATA_VALUE || defined HANDLE_VALUE || \ |
| defined HANDLE_CONSTANT_MARKER) |
| #error "Missing macro definition of HANDLE_VALUE*" |
| #endif |
| |
| #ifndef HANDLE_GLOBAL_VALUE |
| #define HANDLE_GLOBAL_VALUE(ValueName) HANDLE_CONSTANT(ValueName) |
| #endif |
| |
| #ifndef HANDLE_CONSTANT |
| #define HANDLE_CONSTANT(ValueName) HANDLE_VALUE(ValueName) |
| #endif |
| |
| #ifndef HANDLE_INSTRUCTION |
| #define HANDLE_INSTRUCTION(ValueName) HANDLE_VALUE(ValueName) |
| #endif |
| |
| #ifndef HANDLE_INLINE_ASM_VALUE |
| #define HANDLE_INLINE_ASM_VALUE(ValueName) HANDLE_VALUE(ValueName) |
| #endif |
| |
| #ifndef HANDLE_METADATA_VALUE |
| #define HANDLE_METADATA_VALUE(ValueName) HANDLE_VALUE(ValueName) |
| #endif |
| |
| #ifndef HANDLE_VALUE |
| #define HANDLE_VALUE(ValueName) |
| #endif |
| |
| #ifndef HANDLE_CONSTANT_MARKER |
| #define HANDLE_CONSTANT_MARKER(MarkerName, ValueName) |
| #endif |
| |
| HANDLE_VALUE(Argument) |
| HANDLE_VALUE(BasicBlock) |
| HANDLE_VALUE(MemoryUse) |
| HANDLE_VALUE(MemoryDef) |
| HANDLE_VALUE(MemoryPhi) |
| |
| HANDLE_GLOBAL_VALUE(Function) |
| HANDLE_GLOBAL_VALUE(GlobalAlias) |
| HANDLE_GLOBAL_VALUE(GlobalIFunc) |
| HANDLE_GLOBAL_VALUE(GlobalVariable) |
| HANDLE_CONSTANT(BlockAddress) |
| HANDLE_CONSTANT(ConstantExpr) |
| |
| // ConstantAggregate. |
| HANDLE_CONSTANT(ConstantArray) |
| HANDLE_CONSTANT(ConstantStruct) |
| HANDLE_CONSTANT(ConstantVector) |
| |
| // ConstantData. |
| HANDLE_CONSTANT(UndefValue) |
| HANDLE_CONSTANT(ConstantAggregateZero) |
| HANDLE_CONSTANT(ConstantDataArray) |
| HANDLE_CONSTANT(ConstantDataVector) |
| HANDLE_CONSTANT(ConstantInt) |
| HANDLE_CONSTANT(ConstantFP) |
| HANDLE_CONSTANT(ConstantPointerNull) |
| HANDLE_CONSTANT(ConstantTokenNone) |
| |
| HANDLE_METADATA_VALUE(MetadataAsValue) |
| HANDLE_INLINE_ASM_VALUE(InlineAsm) |
| |
| HANDLE_INSTRUCTION(Instruction) |
| // Enum values starting at InstructionVal are used for Instructions; |
| // don't add new values here! |
| |
| HANDLE_CONSTANT_MARKER(ConstantFirstVal, Function) |
| HANDLE_CONSTANT_MARKER(ConstantLastVal, ConstantTokenNone) |
| HANDLE_CONSTANT_MARKER(ConstantDataFirstVal, UndefValue) |
| HANDLE_CONSTANT_MARKER(ConstantDataLastVal, ConstantTokenNone) |
| HANDLE_CONSTANT_MARKER(ConstantAggregateFirstVal, ConstantArray) |
| HANDLE_CONSTANT_MARKER(ConstantAggregateLastVal, ConstantVector) |
| |
| #undef HANDLE_GLOBAL_VALUE |
| #undef HANDLE_CONSTANT |
| #undef HANDLE_INSTRUCTION |
| #undef HANDLE_METADATA_VALUE |
| #undef HANDLE_INLINE_ASM_VALUE |
| #undef HANDLE_VALUE |
| #undef HANDLE_CONSTANT_MARKER |