LLVM  6.0.0svn
Classes | Namespaces | Macros | Functions
TypeBuilder.h File Reference
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/LLVMContext.h"
#include <climits>
Include dependency graph for TypeBuilder.h:

Go to the source code of this file.

Classes

class  llvm::TypeBuilder< T, cross_compilable >
 TypeBuilder - This provides a uniform API for looking up types known at compile time. More...
 
class  llvm::types::i< num_bits >
 i<N> corresponds to the LLVM IntegerType with N bits. More...
 
class  llvm::types::ieee_float
 
class  llvm::types::ieee_double
 
class  llvm::types::x86_fp80
 
class  llvm::types::fp128
 
class  llvm::types::ppc_fp128
 
class  llvm::types::x86_mmx
 
class  llvm::TypeBuilder< const T, cross >
 
class  llvm::TypeBuilder< volatile T, cross >
 
class  llvm::TypeBuilder< const volatile T, cross >
 
class  llvm::TypeBuilder< T *, cross >
 
class  llvm::TypeBuilder< T &, cross >
 There is no support for references. More...
 
class  llvm::TypeBuilder< T[N], cross >
 
class  llvm::TypeBuilder< T[], cross >
 LLVM uses an array of length 0 to represent an unknown-length array. More...
 
class  llvm::TypeBuilder< types::i< num_bits >, cross >
 
class  llvm::TypeBuilder< float, false >
 
class  llvm::TypeBuilder< float, true >
 
class  llvm::TypeBuilder< double, false >
 
class  llvm::TypeBuilder< double, true >
 
class  llvm::TypeBuilder< types::ieee_float, cross >
 
class  llvm::TypeBuilder< types::ieee_double, cross >
 
class  llvm::TypeBuilder< types::x86_fp80, cross >
 
class  llvm::TypeBuilder< types::fp128, cross >
 
class  llvm::TypeBuilder< types::ppc_fp128, cross >
 
class  llvm::TypeBuilder< types::x86_mmx, cross >
 
class  llvm::TypeBuilder< void, cross >
 
class  llvm::TypeBuilder< void *, false >
 void* is disallowed in LLVM types, but it occurs often enough in C code that we special case it. More...
 
class  llvm::TypeBuilder< const void *, false >
 
class  llvm::TypeBuilder< volatile void *, false >
 
class  llvm::TypeBuilder< const volatile void *, false >
 
class  llvm::TypeBuilder< R(A1), cross >
 
class  llvm::TypeBuilder< R(A1, A2), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3, A4), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3, A4, A5), cross >
 
class  llvm::TypeBuilder< R(...), cross >
 
class  llvm::TypeBuilder< R(A1,...), cross >
 
class  llvm::TypeBuilder< R(A1, A2,...), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3,...), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3, A4,...), cross >
 
class  llvm::TypeBuilder< R(A1, A2, A3, A4, A5,...), cross >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::types
 

Macros

#define DEFINE_INTEGRAL_TYPEBUILDER(T)
 

Functions

 llvm::DEFINE_INTEGRAL_TYPEBUILDER (char)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (signed char)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (unsigned char)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (short)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (int)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (long)
 
 llvm::DEFINE_INTEGRAL_TYPEBUILDER (unsigned long long)
 

Macro Definition Documentation

◆ DEFINE_INTEGRAL_TYPEBUILDER

#define DEFINE_INTEGRAL_TYPEBUILDER (   T)
Value:
template<> class TypeBuilder<T, false> { \
public: \
static IntegerType *get(LLVMContext &Context) { \
return IntegerType::get(Context, sizeof(T) * CHAR_BIT); \
} \
}; \
template<> class TypeBuilder<T, true> { \
/* We provide a definition here so users don't accidentally */ \
/* define these types to work. */ \
}
LLVMContext & Context
Basic Alias true

Definition at line 159 of file TypeBuilder.h.