view gen/llvm.h @ 305:2b72433d5c8c trunk

[svn r326] Fixed a bunch of issues with printf's that MinGW32 did not support. Fixed problems with label collisions when using labels inside inline asm. LabelStatement is now easily reached given its Identifier, which should be useful elsewhere too. Enabled inline asm for building the lib/compiler/llvmdc runtime code, fixing branches out of asm makes this possible.
author lindquist
date Fri, 27 Jun 2008 22:04:35 +0200
parents a95056b3c996
children d59c363fccad
line wrap: on
line source

#ifndef GEN_LLVM_H
#define GEN_LLVM_H

#include "llvm/Type.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Constants.h"
#include "llvm/IntrinsicInst.h"
#include "llvm/CallingConv.h"
#include "llvm/GlobalVariable.h"
#include "llvm/Function.h"
#include "llvm/Module.h"
#include "llvm/Value.h"

#include "llvm/Target/TargetData.h"

#include "llvm/Support/IRBuilder.h"
using llvm::IRBuilder;

#define GET_INTRINSIC_DECL(_X) (llvm::Intrinsic::getDeclaration(gIR->module, llvm::Intrinsic:: _X ))

// shortcuts for the common llvm types

typedef llvm::Type LLType;
typedef llvm::FunctionType LLFunctionType;
typedef llvm::PointerType LLPointerType;
typedef llvm::StructType LLStructType;
typedef llvm::ArrayType LLArrayType;
typedef llvm::IntegerType LLIntegerType;
typedef llvm::OpaqueType LLOpaqueType;

typedef llvm::Value LLValue;
typedef llvm::GlobalValue LLGlobalValue;
typedef llvm::GlobalVariable LLGlobalVariable;
typedef llvm::Function LLFunction;

typedef llvm::Constant LLConstant;
typedef llvm::ConstantStruct LLConstantStruct;
typedef llvm::ConstantArray LLConstantArray;
typedef llvm::ConstantInt LLConstantInt;

typedef llvm::PATypeHolder LLPATypeHolder;

#define LLSmallVector llvm::SmallVector

#endif // GEN_LLVM_H