view gen/llvm.h @ 275:665b81613475 trunk

[svn r296] Removed: the 'suite' dir, it never took off! Fixed: foreach statement, key-type checks were buggy. Fixed: setting LLVMDC versions on the command line is now an error. Fixed: array compare runtime had incorrect param attrs on call. Fixed: index expressions on dynamic array slices w/o storage was broken. Fixed: scope classes had incorrect finalization in some cases. Fixed: when outputting !ClassInfoS !OffsetTypeInfoS, static class members were trying to be included, crashing the compiler. Fixed: calling LLVMDC with -inline but not any -O option caused assertion failure. Changed: the runtime now uses a single interface to "get" to !TypeInfoS, part of eliminating duplicate !TypeInfo codegen.
author lindquist
date Thu, 19 Jun 2008 17:30:32 +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