Mercurial > projects > ldc
diff tools/binding/llvm/c/Target.d @ 1651:cb960b882ca3 default tip
bindings were moved to dsource.org/projects/bindings/
author | Moritz Warning <moritzwarning@web.de> |
---|---|
date | Thu, 20 May 2010 20:05:03 +0200 |
parents | 40bd4a0d4870 |
children |
line wrap: on
line diff
--- a/tools/binding/llvm/c/Target.d Wed May 19 12:42:32 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -// Converted to the D programming language by Tomas Lindquist Olsen 2008 -// Original file header: -/*===-- llvm-c/Target.h - Target Lib C Iface --------------------*- C++ -*-===*\ -|* *| -|* The LLVM Compiler Infrastructure *| -|* *| -|* This file is distributed under the University of Illinois Open Source *| -|* License. See LICENSE.TXT for details. *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This header declares the C interface to libLLVMTarget.a, which *| -|* implements target information. *| -|* *| -|* Many exotic languages can interoperate with C code but have a harder time *| -|* with C++ due to name mangling. So in addition to C, this interface enables *| -|* tools written in such languages. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -module llvm.c.Target; - -import llvm.c.Core; - -extern(C): - -enum { LLVMBigEndian, LLVMLittleEndian }; -alias int LLVMByteOrdering; - -typedef void* LLVMTargetDataRef; -typedef void* LLVMStructLayoutRef; - - -/*===-- Target Data -------------------------------------------------------===*/ - -/** Creates target data from a target layout string. - See the constructor llvm::TargetData::TargetData. */ -LLVMTargetDataRef LLVMCreateTargetData( /*const*/ char *StringRep); - -/** Adds target data information to a pass manager. This does not take ownership - of the target data. - See the method llvm::PassManagerBase::add. */ -void LLVMAddTargetData(LLVMTargetDataRef, LLVMPassManagerRef); - -/** Converts target data to a target layout string. The string must be disposed - with LLVMDisposeMessage. - See the constructor llvm::TargetData::TargetData. */ -char *LLVMCopyStringRepOfTargetData(LLVMTargetDataRef); - -/** Returns the byte order of a target, either LLVMBigEndian or - LLVMLittleEndian. - See the method llvm::TargetData::isLittleEndian. */ -LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef); - -/** Returns the pointer size in bytes for a target. - See the method llvm::TargetData::getPointerSize. */ -uint LLVMPointerSize(LLVMTargetDataRef); - -/** Returns the integer type that is the same size as a pointer on a target. - See the method llvm::TargetData::getIntPtrType. */ -LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef); - -/** Computes the size of a type in bytes for a target. - See the method llvm::TargetData::getTypeSizeInBits. */ -ulong LLVMSizeOfTypeInBits(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the storage size of a type in bytes for a target. - See the method llvm::TargetData::getTypeStoreSize. */ -ulong LLVMStoreSizeOfType(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the ABI size of a type in bytes for a target. - See the method llvm::TargetData::getABITypeSize. */ -ulong LLVMABISizeOfType(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the ABI alignment of a type in bytes for a target. - See the method llvm::TargetData::getTypeABISize. */ -uint LLVMABIAlignmentOfType(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the call frame alignment of a type in bytes for a target. - See the method llvm::TargetData::getTypeABISize. */ -uint LLVMCallFrameAlignmentOfType(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the preferred alignment of a type in bytes for a target. - See the method llvm::TargetData::getTypeABISize. */ -uint LLVMPreferredAlignmentOfType(LLVMTargetDataRef, LLVMTypeRef); - -/** Computes the preferred alignment of a global variable in bytes for a target. - See the method llvm::TargetData::getPreferredAlignment. */ -uint LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef, - LLVMValueRef GlobalVar); - -/** Computes the structure element that contains the byte offset for a target. - See the method llvm::StructLayout::getElementContainingOffset. */ -uint LLVMElementAtOffset(LLVMTargetDataRef, LLVMTypeRef StructTy, - ulong Offset); - -/** Computes the byte offset of the indexed struct element for a target. - See the method llvm::StructLayout::getElementContainingOffset. */ -ulong LLVMOffsetOfElement(LLVMTargetDataRef, LLVMTypeRef StructTy, - uint Element); - -/** Struct layouts are speculatively cached. If a TargetDataRef is alive when - types are being refined and removed, this method must be called whenever a - struct type is removed to avoid a dangling pointer in this cache. - See the method llvm::TargetData::InvalidateStructLayoutInfo. */ -void LLVMInvalidateStructLayout(LLVMTargetDataRef, LLVMTypeRef StructTy); - -/** Deallocates a TargetData. - See the destructor llvm::TargetData::~TargetData. */ -void LLVMDisposeTargetData(LLVMTargetDataRef);