LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ValueTypes.h

Go to the documentation of this file.
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