Add missing createXxxPass functions
[oota-llvm.git] / include / llvm / Type.def
1 //===-- llvm/Type.def - File that describes various LLVM types --*- C++ -*-===//
2 // 
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 // 
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains descriptions of the various LLVM types and derived types.
11 // This file serves as a source of in source documentation and a can be
12 // #included to do something on all of the type definitions.
13 //
14 //===----------------------------------------------------------------------===//
15
16 // NOTE: NO INCLUDE GUARD DESIRED!
17
18
19 // If the user did not specify one of the macros, give a default noop defn.
20 //
21 #ifndef HANDLE_PRIM_TYPE
22 #define HANDLE_PRIM_TYPE(x,y)
23 #endif
24 #ifndef HANDLE_DERV_TYPE
25 #define HANDLE_DERV_TYPE(x,y)
26 #endif
27
28
29 // HANDLE_PRIM_TYPE - Parameterized #define that takes the following fields to
30 // declare a primitive type:
31 //
32 //   Type Name:  This is the symbolic name of the type, without the trailing Ty.
33 //   Type Size:  This is the size or precision of the type.
34 //
35 HANDLE_PRIM_TYPE(Void  , 0)
36 HANDLE_PRIM_TYPE(Bool  , 1)
37 HANDLE_PRIM_TYPE(SByte , 1)
38 HANDLE_PRIM_TYPE(UByte , 1)
39 HANDLE_PRIM_TYPE(Short , 2)
40 HANDLE_PRIM_TYPE(UShort, 2)
41 HANDLE_PRIM_TYPE(Int   , 4)
42 HANDLE_PRIM_TYPE(UInt  , 4)
43 HANDLE_PRIM_TYPE(Long  , 8)
44 HANDLE_PRIM_TYPE(ULong , 8)
45 HANDLE_PRIM_TYPE(Float , 4)
46 HANDLE_PRIM_TYPE(Double, 8)
47 HANDLE_PRIM_TYPE(Label , 0)
48
49
50 // HANDLE_DERV_TYPE - Parameterized #define that takes the following fields to
51 // declare a derived type:
52 //
53 //   Type Name:  This is the symbolic name of the type, without the trailing Ty.
54 //   Class Name: This is the subclass that implements the derived type.
55 //
56 HANDLE_DERV_TYPE(Function, FunctionType)
57 HANDLE_DERV_TYPE(Array   , ArrayType)
58 HANDLE_DERV_TYPE(Pointer , PointerType)
59 HANDLE_DERV_TYPE(Struct  , StructType)
60 HANDLE_DERV_TYPE(Opaque  , OpaqueType)
61 HANDLE_DERV_TYPE(Packed  , PackedType)
62
63 // Kill the macros on exit...
64 #undef HANDLE_PRIM_TYPE
65 #undef HANDLE_DERV_TYPE