LLVM API Documentation
00001 //===- CodeGen/ValueTypes.h - Low-Level Target independ. types --*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file was developed by the LLVM research group and is distributed under 00006 // the University of Illinois Open Source License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines the set of low-level target independent types which various 00011 // values in the code generator are. This allows the target specific behavior 00012 // of instructions to be described to target independent passes. 00013 // 00014 //===----------------------------------------------------------------------===// 00015 00016 #ifndef LLVM_CODEGEN_VALUETYPES_H 00017 #define LLVM_CODEGEN_VALUETYPES_H 00018 00019 namespace llvm { 00020 00021 /// MVT namespace - This namespace defines the ValueType enum, which contains 00022 /// the various low-level value types. 00023 /// 00024 namespace MVT { // MVT = Machine Value Types 00025 enum ValueType { 00026 // If you change this numbering, you must change the values in Target.td as 00027 // well! 00028 Other = 0, // This is a non-standard value 00029 i1 = 1, // This is a 1 bit integer value 00030 i8 = 2, // This is an 8 bit integer value 00031 i16 = 3, // This is a 16 bit integer value 00032 i32 = 4, // This is a 32 bit integer value 00033 i64 = 5, // This is a 64 bit integer value 00034 i128 = 6, // This is a 128 bit integer value 00035 00036 f32 = 7, // This is a 32 bit floating point value 00037 f64 = 8, // This is a 64 bit floating point value 00038 f80 = 9, // This is a 80 bit floating point value 00039 f128 = 10, // This is a 128 bit floating point value 00040 00041 isVoid = 11, // This has no value 00042 }; 00043 }; 00044 00045 } // End llvm namespace 00046 00047 #endif