Deleted Added
full compact
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(StructTy);
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(StructTy);
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}