Target.cpp (224145) | Target.cpp (226633) |
---|---|
1//===-- Target.cpp --------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file implements the common infrastructure (including C bindings) for 11// libLLVMTarget.a, which implements target information. 12// 13//===----------------------------------------------------------------------===// 14 15#include "llvm-c/Target.h" 16#include "llvm-c/Initialization.h" 17#include "llvm/InitializePasses.h" 18#include "llvm/PassManager.h" 19#include "llvm/Target/TargetData.h" | 1//===-- Target.cpp --------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file implements the common infrastructure (including C bindings) for 11// libLLVMTarget.a, which implements target information. 12// 13//===----------------------------------------------------------------------===// 14 15#include "llvm-c/Target.h" 16#include "llvm-c/Initialization.h" 17#include "llvm/InitializePasses.h" 18#include "llvm/PassManager.h" 19#include "llvm/Target/TargetData.h" |
20#include "llvm/Target/TargetLibraryInfo.h" |
|
20#include "llvm/LLVMContext.h" 21#include <cstring> 22 23using namespace llvm; 24 25void llvm::initializeTarget(PassRegistry &Registry) { 26 initializeTargetDataPass(Registry); 27 initializeTargetLibraryInfoPass(Registry); --- 6 unchanged lines hidden (view full) --- 34LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep) { 35 return wrap(new TargetData(StringRep)); 36} 37 38void LLVMAddTargetData(LLVMTargetDataRef TD, LLVMPassManagerRef PM) { 39 unwrap(PM)->add(new TargetData(*unwrap(TD))); 40} 41 | 21#include "llvm/LLVMContext.h" 22#include <cstring> 23 24using namespace llvm; 25 26void llvm::initializeTarget(PassRegistry &Registry) { 27 initializeTargetDataPass(Registry); 28 initializeTargetLibraryInfoPass(Registry); --- 6 unchanged lines hidden (view full) --- 35LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep) { 36 return wrap(new TargetData(StringRep)); 37} 38 39void LLVMAddTargetData(LLVMTargetDataRef TD, LLVMPassManagerRef PM) { 40 unwrap(PM)->add(new TargetData(*unwrap(TD))); 41} 42 |
43void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, 44 LLVMPassManagerRef PM) { 45 unwrap(PM)->add(new TargetLibraryInfo(*unwrap(TLI))); 46} 47 |
|
42char *LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD) { 43 std::string StringRep = unwrap(TD)->getStringRepresentation(); 44 return strdup(StringRep.c_str()); 45} 46 47LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD) { 48 return unwrap(TD)->isLittleEndian() ? LLVMLittleEndian : LLVMBigEndian; 49} --- 32 unchanged lines hidden (view full) --- 82 83unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, 84 LLVMValueRef GlobalVar) { 85 return unwrap(TD)->getPreferredAlignment(unwrap<GlobalVariable>(GlobalVar)); 86} 87 88unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, 89 unsigned long long Offset) { | 48char *LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD) { 49 std::string StringRep = unwrap(TD)->getStringRepresentation(); 50 return strdup(StringRep.c_str()); 51} 52 53LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD) { 54 return unwrap(TD)->isLittleEndian() ? LLVMLittleEndian : LLVMBigEndian; 55} --- 32 unchanged lines hidden (view full) --- 88 89unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, 90 LLVMValueRef GlobalVar) { 91 return unwrap(TD)->getPreferredAlignment(unwrap<GlobalVariable>(GlobalVar)); 92} 93 94unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, 95 unsigned long long Offset) { |
90 const StructType *STy = unwrap<StructType>(StructTy); | 96 StructType *STy = unwrap |
91 return unwrap(TD)->getStructLayout(STy)->getElementContainingOffset(Offset); 92} 93 94unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, 95 unsigned Element) { | 97 return unwrap(TD)->getStructLayout(STy)->getElementContainingOffset(Offset); 98} 99 100unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, 101 unsigned Element) { |
96 const StructType *STy = unwrap<StructType>(StructTy); | 102 StructType *STy = unwrap |
97 return unwrap(TD)->getStructLayout(STy)->getElementOffset(Element); 98} 99 100void LLVMDisposeTargetData(LLVMTargetDataRef TD) { 101 delete unwrap(TD); 102} | 103 return unwrap(TD)->getStructLayout(STy)->getElementOffset(Element); 104} 105 106void LLVMDisposeTargetData(LLVMTargetDataRef TD) { 107 delete unwrap(TD); 108} |