Mercurial > projects > ldc
diff gen/aa.cpp @ 217:0806379a5eca trunk
[svn r233] Added: -oq command line option for writing fully qualified object names.
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
author | lindquist |
---|---|
date | Thu, 05 Jun 2008 06:38:36 +0200 |
parents | 7816aafeea3c |
children | a95056b3c996 |
line wrap: on
line diff
--- a/gen/aa.cpp Tue Jun 03 22:32:59 2008 +0200 +++ b/gen/aa.cpp Thu Jun 05 06:38:36 2008 +0200 @@ -86,15 +86,8 @@ LLValue* pkey = to_pkey(key); pkey = DtoBitCast(pkey, funcTy->getParamType(3)); - // build arg vector - LLSmallVector<LLValue*, 4> args; - args.push_back(aaval); - args.push_back(keyti); - args.push_back(valsize); - args.push_back(pkey); - // call runtime - LLValue* ret = gIR->ir->CreateCall(func, args.begin(), args.end(), "aa.index"); + LLValue* ret = gIR->ir->CreateCall4(func, aaval, keyti, valsize, pkey, "aa.index"); // cast return value const LLType* targettype = getPtrToType(DtoType(type)); @@ -131,14 +124,8 @@ LLValue* pkey = to_pkey(key); pkey = DtoBitCast(pkey, funcTy->getParamType(2)); - // build arg vector - LLSmallVector<LLValue*, 3> args; - args.push_back(aaval); - args.push_back(keyti); - args.push_back(pkey); - // call runtime - LLValue* ret = gIR->ir->CreateCall(func, args.begin(), args.end(), "aa.in"); + LLValue* ret = gIR->ir->CreateCall3(func, aaval, keyti, pkey, "aa.in"); // cast return value const LLType* targettype = DtoType(type);