mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 10:53:14 +01:00
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues. Changed the handling of parameter attributes to a bit more generalized approach. Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 . Parameter attribs now properly set for intrinsic calls if necessary. Made the tango.math.Math patch less intrusive. Fixed/added some mini tests.
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
#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/ParameterAttributes.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
|
|
|
|
#define LLType llvm::Type
|
|
#define LLFunctionType llvm::FunctionType
|
|
#define LLPointerType llvm::PointerType
|
|
#define LLStructType llvm::StructType
|
|
#define LLArrayType llvm::ArrayType
|
|
#define LLIntegerType llvm::IntegerType
|
|
#define LLOpaqueType llvm::OpaqueType
|
|
|
|
#define LLValue llvm::Value
|
|
#define LLGlobalValue llvm::GlobalValue
|
|
#define LLGlobalVariable llvm::GlobalVariable
|
|
#define LLFunction llvm::Function
|
|
|
|
#define LLConstant llvm::Constant
|
|
#define LLConstantStruct llvm::ConstantStruct
|
|
#define LLConstantArray llvm::ConstantArray
|
|
#define LLConstantInt llvm::ConstantInt
|
|
#define LLConstantFP llvm::ConstantFP
|
|
|
|
#define LLPATypeHolder llvm::PATypeHolder
|
|
|
|
#define LLSmallVector llvm::SmallVector
|
|
|
|
#define APFloat llvm::APFloat
|
|
|
|
#endif // GEN_LLVM_H
|