# HG changeset patch # User Tomas Lindquist Olsen # Date 1222895834 -7200 # Node ID df196c8dea26768df39604edc88a5981a2c00ded # Parent 607b6b5819a79d10f06b981a2d448f797f3bf2ec Updated to latest LLVM trunk, function notes have been removed and merged with parameter attributes, which have been renamed to just attributes. Nothing seems to have broke! diff -r 607b6b5819a7 -r df196c8dea26 gen/arrays.cpp --- a/gen/arrays.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/arrays.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -758,10 +758,10 @@ CallOrInvoke* call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), "tmp"); // set param attrs - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - call->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + call->setAttributes(palist); return call->get(); } @@ -1072,7 +1072,7 @@ gIR->scope() = IRScope(failbb, okbb); std::vector args; - llvm::PAListPtr palist; + llvm::AttrListPtr palist; // file param // FIXME: every array bounds check creates a global for the filename !!! @@ -1090,7 +1090,7 @@ DtoStore(c->getOperand(1), ptr); args.push_back(alloc); - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); + palist = palist.addAttr(1, llvm::Attribute::ByVal); // line param c = DtoConstUint(loc.linnum); @@ -1099,7 +1099,7 @@ // call llvm::Function* errorfn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_array_bounds"); CallOrInvoke* call = gIR->CreateCallOrInvoke(errorfn, args.begin(), args.end()); - call->setParamAttrs(palist); + call->setAttributes(palist); // the function does not return gIR->ir->CreateUnreachable(); diff -r 607b6b5819a7 -r df196c8dea26 gen/dwarftypes.cpp --- a/gen/dwarftypes.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/dwarftypes.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include diff -r 607b6b5819a7 -r df196c8dea26 gen/functions.cpp --- a/gen/functions.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/functions.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -132,7 +132,7 @@ Logger::println("struct param"); paramvec.push_back(getPtrToType(at)); if (!refOrOut) - arg->llvmAttrs |= llvm::ParamAttr::ByVal; + arg->llvmAttrs |= llvm::Attribute::ByVal; } else if (isaArray(at)) { // static array are passed by reference @@ -341,10 +341,10 @@ llidx += 2; int funcNumArgs = func->getArgumentList().size(); - std::vector attrs; + std::vector attrs; int k = 0; - llvm::ParamAttrsWithIndex PAWI; + llvm::AttributeWithIndex PAWI; // set return value attrs if any if (f->retAttrs) @@ -358,7 +358,7 @@ if (f->retInPtr) { PAWI.Index = 1; - PAWI.Attrs = llvm::ParamAttr::StructRet; + PAWI.Attrs = llvm::Attribute::StructRet; attrs.push_back(PAWI); } @@ -366,7 +366,7 @@ if (fdecl->isMain() && Argument::dim(f->parameters) == 0) { PAWI.Index = llidx; - PAWI.Attrs = llvm::ParamAttr::ByVal; + PAWI.Attrs = llvm::Attribute::ByVal; attrs.push_back(PAWI); llidx++; } @@ -384,8 +384,8 @@ attrs.push_back(PAWI); } - llvm::PAListPtr palist = llvm::PAListPtr::get(attrs.begin(), attrs.end()); - func->setParamAttrs(palist); + llvm::AttrListPtr palist = llvm::AttrListPtr::get(attrs.begin(), attrs.end()); + func->setAttributes(palist); } ////////////////////////////////////////////////////////////////////////////////////////// diff -r 607b6b5819a7 -r df196c8dea26 gen/irstate.h --- a/gen/irstate.h Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/irstate.h Wed Oct 01 23:17:14 2008 +0200 @@ -88,7 +88,7 @@ // adjusting these common properties these structs are made struct CallOrInvoke { - virtual void setParamAttrs(const llvm::PAListPtr& Attrs) = 0; + virtual void setAttributes(const llvm::AttrListPtr& Attrs) = 0; virtual void setCallingConv(unsigned CC) = 0; virtual llvm::Instruction* get() = 0; }; @@ -98,8 +98,8 @@ llvm::CallInst* inst; CallOrInvoke_Call(llvm::CallInst* call) : inst(call) {} - virtual void setParamAttrs(const llvm::PAListPtr& Attrs) - { inst->setParamAttrs(Attrs); } + virtual void setAttributes(const llvm::AttrListPtr& Attrs) + { inst->setAttributes(Attrs); } virtual void setCallingConv(unsigned CC) { inst->setCallingConv(CC); } virtual llvm::Instruction* get() @@ -111,8 +111,8 @@ llvm::InvokeInst* inst; CallOrInvoke_Invoke(llvm::InvokeInst* invoke) : inst(invoke) {} - virtual void setParamAttrs(const llvm::PAListPtr& Attrs) - { inst->setParamAttrs(Attrs); } + virtual void setAttributes(const llvm::AttrListPtr& Attrs) + { inst->setAttributes(Attrs); } virtual void setCallingConv(unsigned CC) { inst->setCallingConv(CC); } virtual llvm::Instruction* get() diff -r 607b6b5819a7 -r df196c8dea26 gen/llvm.h --- a/gen/llvm.h Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/llvm.h Wed Oct 01 23:17:14 2008 +0200 @@ -10,7 +10,7 @@ #include "llvm/Function.h" #include "llvm/Module.h" #include "llvm/Value.h" -#include "llvm/ParameterAttributes.h" +#include "llvm/Attributes.h" #include "llvm/Target/TargetData.h" diff -r 607b6b5819a7 -r df196c8dea26 gen/llvmhelpers.cpp --- a/gen/llvmhelpers.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/llvmhelpers.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -117,7 +117,7 @@ llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, fname); // param attrs - llvm::PAListPtr palist; + llvm::AttrListPtr palist; int idx = 1; // FIXME: every assert creates a global for the filename !!! @@ -141,7 +141,7 @@ { args.push_back(msg->getRVal()); } - palist = palist.addAttr(idx++, llvm::ParamAttr::ByVal); + palist = palist.addAttr(idx++, llvm::Attribute::ByVal); } // file param @@ -157,7 +157,7 @@ DtoStore(c->getOperand(1), ptr); args.push_back(alloc); - palist = palist.addAttr(idx++, llvm::ParamAttr::ByVal); + palist = palist.addAttr(idx++, llvm::Attribute::ByVal); // line param @@ -166,7 +166,7 @@ // call CallOrInvoke* call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end()); - call->setParamAttrs(palist); + call->setAttributes(palist); // after assert is always unreachable gIR->ir->CreateUnreachable(); diff -r 607b6b5819a7 -r df196c8dea26 gen/llvmhelpers.h --- a/gen/llvmhelpers.h Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/llvmhelpers.h Wed Oct 01 23:17:14 2008 +0200 @@ -133,7 +133,7 @@ const LLFunctionType* DtoExtractFunctionType(const LLType* type); /// -void DtoBuildDVarArgList(std::vector& args, llvm::PAListPtr& palist, TypeFunction* tf, Expressions* arguments, size_t argidx); +void DtoBuildDVarArgList(std::vector& args, llvm::AttrListPtr& palist, TypeFunction* tf, Expressions* arguments, size_t argidx); /// DValue* DtoCallFunction(Loc& loc, Type* resulttype, DValue* fnval, Expressions* arguments); diff -r 607b6b5819a7 -r df196c8dea26 gen/runtime.cpp --- a/gen/runtime.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/runtime.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -69,7 +69,7 @@ const llvm::FunctionType* fnty = fn->getFunctionType(); llvm::Function* resfn = llvm::cast(target->getOrInsertFunction(name, fnty)); - resfn->setParamAttrs(fn->getParamAttrs()); + resfn->setAttributes(fn->getAttributes()); return resfn; } @@ -201,11 +201,11 @@ types.push_back(stringTy); types.push_back(intTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname3, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname3, M)->setAttributes(palist); } // void _d_assert_msg( char[] msg, char[] file, uint line ) @@ -216,10 +216,10 @@ types.push_back(stringTy); types.push_back(intTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidPtrTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } ///////////////////////////////////////////////////////////////////////////////////// @@ -383,11 +383,11 @@ types.push_back(TY); \ types.push_back(rt_dg1()); \ const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); \ - llvm::PAListPtr palist; \ - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); \ - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); \ + llvm::AttrListPtr palist; \ + palist = palist.addAttr(1, llvm::Attribute::ByVal); \ + palist = palist.addAttr(2, llvm::Attribute::ByVal); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); \ } STR_APPLY1(stringTy, "_aApplycw1", "_aApplycd1") STR_APPLY1(wstringTy, "_aApplywc1", "_aApplywd1") @@ -403,11 +403,11 @@ types.push_back(TY); \ types.push_back(rt_dg2()); \ const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); \ - llvm::PAListPtr palist; \ - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); \ - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); \ + llvm::AttrListPtr palist; \ + palist = palist.addAttr(1, llvm::Attribute::ByVal); \ + palist = palist.addAttr(2, llvm::Attribute::ByVal); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); \ } STR_APPLY2(stringTy, "_aApplycw2", "_aApplycd2") STR_APPLY2(wstringTy, "_aApplywc2", "_aApplywd2") @@ -422,11 +422,11 @@ types.push_back(TY); \ types.push_back(rt_dg1()); \ const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); \ - llvm::PAListPtr palist; \ - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); \ - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); \ + llvm::AttrListPtr palist; \ + palist = palist.addAttr(1, llvm::Attribute::ByVal); \ + palist = palist.addAttr(2, llvm::Attribute::ByVal); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); \ } STR_APPLY_R1(stringTy, "_aApplyRcw1", "_aApplyRcd1") STR_APPLY_R1(wstringTy, "_aApplyRwc1", "_aApplyRwd1") @@ -441,11 +441,11 @@ types.push_back(TY); \ types.push_back(rt_dg2()); \ const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); \ - llvm::PAListPtr palist; \ - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); \ - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); \ - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); \ + llvm::AttrListPtr palist; \ + palist = palist.addAttr(1, llvm::Attribute::ByVal); \ + palist = palist.addAttr(2, llvm::Attribute::ByVal); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); \ + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); \ } STR_APPLY_R2(stringTy, "_aApplyRcw2", "_aApplyRcd2") STR_APPLY_R2(wstringTy, "_aApplyRwc2", "_aApplyRwd2") @@ -533,10 +533,10 @@ types.push_back(stringTy); types.push_back(stringTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); } // wchar[] _adReverseWchar(wchar[] a) @@ -548,10 +548,10 @@ types.push_back(wstringTy); types.push_back(wstringTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); } // Array _adReverse(Array a, size_t szelem) @@ -562,9 +562,9 @@ types.push_back(rt_array(byteTy)); types.push_back(sizeTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // Array _adDupT(TypeInfo ti, Array a) @@ -575,9 +575,9 @@ types.push_back(typeInfoTy); types.push_back(rt_array(byteTy)); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(3, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(3, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // int _adEq(Array a1, Array a2, TypeInfo ti) @@ -590,11 +590,11 @@ types.push_back(rt_array(byteTy)); types.push_back(typeInfoTy); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M)->setAttributes(palist); } // int _adCmpChar(Array a1, Array a2) @@ -604,10 +604,10 @@ types.push_back(rt_array(byteTy)); types.push_back(rt_array(byteTy)); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // Array _adSort(Array a, TypeInfo ti) @@ -618,9 +618,9 @@ types.push_back(rt_array(byteTy)); types.push_back(typeInfoTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } ///////////////////////////////////////////////////////////////////////////////////// @@ -723,9 +723,9 @@ types.push_back(sizeTy); types.push_back(rt_dg1()); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(3, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(3, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // int _aaApply2(AA aa, size_t keysize, dg2_t dg) @@ -736,9 +736,9 @@ types.push_back(sizeTy); types.push_back(rt_dg1()); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(3, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(3, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } ///////////////////////////////////////////////////////////////////////////////////// @@ -813,10 +813,10 @@ types.push_back(rt_array(rt_array2(byteTy))); types.push_back(stringTy); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // int _d_switch_ustring(wchar[][] table, wchar[] ca) @@ -826,10 +826,10 @@ types.push_back(rt_array(rt_array2(shortTy))); types.push_back(wstringTy); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } // int _d_switch_dstring(dchar[][] table, dchar[] ca) @@ -839,10 +839,10 @@ types.push_back(rt_array(rt_array2(intTy))); types.push_back(dstringTy); const llvm::FunctionType* fty = llvm::FunctionType::get(intTy, types, false); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M)->setAttributes(palist); } ///////////////////////////////////////////////////////////////////////////////////// diff -r 607b6b5819a7 -r df196c8dea26 gen/statements.cpp --- a/gen/statements.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/statements.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -705,10 +705,10 @@ CallOrInvoke* call = gIR->CreateCallOrInvoke2(fn, table, llval, "tmp"); - llvm::PAListPtr palist; - palist = palist.addAttr(1, llvm::ParamAttr::ByVal); - palist = palist.addAttr(2, llvm::ParamAttr::ByVal); - call->setParamAttrs(palist); + llvm::AttrListPtr palist; + palist = palist.addAttr(1, llvm::Attribute::ByVal); + palist = palist.addAttr(2, llvm::Attribute::ByVal); + call->setAttributes(palist); return call->get(); } @@ -1255,7 +1255,7 @@ llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_switch_error"); // param attrs - llvm::PAListPtr palist; + llvm::AttrListPtr palist; int idx = 1; std::vector args; @@ -1276,7 +1276,7 @@ DtoStore(c->getOperand(1), ptr); args.push_back(alloc); - palist = palist.addAttr(idx++, llvm::ParamAttr::ByVal); + palist = palist.addAttr(idx++, llvm::Attribute::ByVal); // line param c = DtoConstUint(loc.linnum); @@ -1284,7 +1284,7 @@ // call CallOrInvoke* call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end()); - call->setParamAttrs(palist); + call->setAttributes(palist); gIR->ir->CreateUnreachable(); } diff -r 607b6b5819a7 -r df196c8dea26 gen/tocall.cpp --- a/gen/tocall.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/tocall.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -104,7 +104,7 @@ ////////////////////////////////////////////////////////////////////////////////////////// -void DtoBuildDVarArgList(std::vector& args, llvm::PAListPtr& palist, TypeFunction* tf, Expressions* arguments, size_t argidx) +void DtoBuildDVarArgList(std::vector& args, llvm::AttrListPtr& palist, TypeFunction* tf, Expressions* arguments, size_t argidx) { Logger::println("doing d-style variadic arguments"); @@ -235,7 +235,7 @@ LLFunctionType::param_iterator argiter = argbegin; // parameter attributes - llvm::PAListPtr palist; + llvm::AttrListPtr palist; // return attrs if (tf->retAttrs) @@ -250,7 +250,7 @@ LLValue* retvar = DtoAlloca(argiter->get()->getContainedType(0), ".rettmp"); ++argiter; args.push_back(retvar); - palist = palist.addAttr(1, llvm::ParamAttr::StructRet); + palist = palist.addAttr(1, llvm::Attribute::StructRet); } // then comes a context argument... @@ -364,26 +364,13 @@ { LLFunction* llfunc = llvm::dyn_cast(dfnval->val); if (llfunc && llfunc->isIntrinsic()) - palist = llvm::Intrinsic::getParamAttrs((llvm::Intrinsic::ID)llfunc->getIntrinsicID()); + palist = llvm::Intrinsic::getAttributes((llvm::Intrinsic::ID)llfunc->getIntrinsicID()); else call->setCallingConv(callconv); } else call->setCallingConv(callconv); - call->setParamAttrs(palist); + call->setAttributes(palist); return new DImValue(resulttype, retllval); } - - - - - - - - - - - - - diff -r 607b6b5819a7 -r df196c8dea26 gen/tollvm.cpp --- a/gen/tollvm.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/gen/tollvm.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -44,14 +44,14 @@ { case Tint8: case Tint16: - return llvm::ParamAttr::SExt; + return llvm::Attribute::SExt; case Tuns8: case Tuns16: - return llvm::ParamAttr::ZExt; + return llvm::Attribute::ZExt; } } - return llvm::ParamAttr::None; + return llvm::Attribute::None; } const LLType* DtoType(Type* t) diff -r 607b6b5819a7 -r df196c8dea26 ir/irfunction.cpp --- a/ir/irfunction.cpp Wed Oct 01 20:55:13 2008 +0200 +++ b/ir/irfunction.cpp Wed Oct 01 23:17:14 2008 +0200 @@ -66,14 +66,12 @@ void IrFunction::setNeverInline() { - llvm::FunctionNotes cur = func->getNotes(); - assert(!(cur & llvm::FN_NOTE_AlwaysInline) && "function can't be never- and always-inline at the same time"); - func->setNotes(cur | llvm::FN_NOTE_NoInline); + assert(!func->hasFnAttr(llvm::Attribute::AlwaysInline) && "function can't be never- and always-inline at the same time"); + func->addFnAttr(llvm::Attribute::NoInline); } void IrFunction::setAlwaysInline() { - llvm::FunctionNotes cur = func->getNotes(); - assert(!(cur & llvm::FN_NOTE_NoInline) && "function can't be never- and always-inline at the same time"); - func->setNotes(cur | llvm::FN_NOTE_AlwaysInline); + assert(!func->hasFnAttr(llvm::Attribute::NoInline) && "function can't be never- and always-inline at the same time"); + func->addFnAttr(llvm::Attribute::AlwaysInline); }