annotate llvm.patch @ 164:ba94fd563548

The symbol for the constructor a "new"-exp is calling is now stored in callSym in NewExp.
author Anders Johnsen <skabet@gmail.com>
date Tue, 22 Jul 2008 16:53:47 +0200
parents 575c267bdd1f
children cbebde9ba2c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
61
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
1 Index: llvm/c/Core.d
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
2 ===================================================================
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
3 --- llvm/c/Core.d (revision 170)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
4 +++ llvm/c/Core.d (working copy)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
5 @@ -82,6 +82,20 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
6 */
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
7 typedef LLVM_OpaqueMemoryBuffer* LLVMMemoryBufferRef;
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
8
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
9 +enum LLVMParamAttr {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
10 + ZExt = 1<<0,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
11 + SExt = 1<<1,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
12 + NoReturn = 1<<2,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
13 + InReg = 1<<3,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
14 + StructRet = 1<<4,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
15 + NoUnwind = 1<<5,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
16 + NoAlias = 1<<6,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
17 + ByVal = 1<<7,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
18 + Nest = 1<<8,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
19 + ReadNone = 1<<9,
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
20 + ReadOnly = 1<<10
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
21 +}
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
22 +
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
23 enum LLVMTypeKind {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
24 Void, /**< type with no size */
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
25 Float, /**< 32 bit floating point type */
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
26 @@ -388,6 +402,14 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
27 /*const*/ char *LLVMGetCollector(LLVMValueRef Fn);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
28 void LLVMSetCollector(LLVMValueRef Fn, /*const*/ char *Coll);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
29
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
30 +void LLVMAddParamAttr(LLVMValueRef Arg, LLVMParamAttr Attr);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
31 +void LLVMRemoveParamAttr(LLVMValueRef Arg, LLVMParamAttr Attr);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
32 +void LLVMSetParamAlignment(LLVMValueRef Arg, uint Align);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
33 +void LLVMAddInstrParamAttr(LLVMValueRef Inst, uint Index, LLVMParamAttr Attr);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
34 +void LLVMRemoveInstrParamAttr(LLVMValueRef Inst, uint Index, LLVMParamAttr Attr);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
35 +void LLVMSetInstrParamAlignment(LLVMValueRef Inst, uint Index, uint Align);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
36 +
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
37 +
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
38 /* Operations on basic blocks */
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
39 LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef Bb);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
40 int LLVMValueIsBasicBlock(LLVMValueRef Val);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
41 Index: llvm/llvm.d
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
42 ===================================================================
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
43 --- llvm/llvm.d (revision 170)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
44 +++ llvm/llvm.d (working copy)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
45 @@ -43,6 +43,8 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
46 alias LLVMVisibility Visibility;
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
47 ///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
48 alias LLVMValueKind ValueKind;
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
49 +///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
50 +public alias LLVMParamAttr ParamAttr;
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
51
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
52 ///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
53 class Module
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
54 @@ -836,6 +838,20 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
55 return getValueOf(v);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
56 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
57 ///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
58 + void addParamAttr(uint idx, ParamAttr PA)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
59 + {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
60 + auto v = LLVMGetParam(value, idx);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
61 + assert(v !is null);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
62 + LLVMAddParamAttr(v, PA);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
63 + }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
64 + ///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
65 + void removeParamAttr(uint idx, ParamAttr PA)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
66 + {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
67 + auto v = LLVMGetParam(value, idx);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
68 + assert(v !is null);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
69 + LLVMRemoveParamAttr(v, PA);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
70 + }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
71 + ///
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
72 uint intrinsicID()
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
73 {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
74 return LLVMGetIntrinsicID(value);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
75 Index: llvm-fix.cpp
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
76 ===================================================================
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
77 --- llvm-fix.cpp (revision 170)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
78 +++ llvm-fix.cpp (working copy)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
79 @@ -29,10 +29,10 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
80 APN.convert(SemanticsForType(unwrap(RealTy)), APFloat::rmNearestTiesToEven);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
81 return wrap(ConstantFP::get(unwrap(RealTy), APN));
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
82 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
83 -
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
84 +/*
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
85 LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text) {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
86 return wrap(ConstantFP::get(unwrap(RealTy),
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
87 APFloat(SemanticsForType(unwrap(RealTy)), Text)));
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
88 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
89 -
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
90 +*/
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
91 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
92 Index: llvm-ext.cpp
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
93 ===================================================================
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
94 --- llvm-ext.cpp (revision 170)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
95 +++ llvm-ext.cpp (working copy)
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
96 @@ -80,9 +80,11 @@
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
97 LLVMTargetDataRef LLVMGetTargetDataFromModule(LLVMModuleRef M) {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
98 return wrap(new TargetData(unwrap(M)));
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
99 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
100 +/*
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
101 void LLVMDisposeTargetData(LLVMTargetDataRef TD) {
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
102 delete unwrap(TD);
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
103 }
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
104 +*/
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
105
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
106 // we need to be able to query the ABI size of a type as an integer
575c267bdd1f New patch to LLVM D bindings from the llvmdc project - apply it in the root(where dsss.conf is)
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
107 size_t LLVMGetABITypeSize(LLVMTargetDataRef TD, LLVMTypeRef T) {