From 990b849abc9481b8c7a482019cd0d95fe2f2a3ea Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 13 Feb 2007 06:01:22 +0000 Subject: [PATCH] eliminate vector-related allocations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/IntrinsicLowering.cpp | 6 ++++-- lib/ExecutionEngine/JIT/JIT.cpp | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index 51879daa7c7..35e20e3c694 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -19,6 +19,7 @@ #include "llvm/CodeGen/IntrinsicLowering.h" #include "llvm/Support/Streams.h" #include "llvm/Target/TargetData.h" +#include "llvm/ADT/SmallVector.h" using namespace llvm; template @@ -52,8 +53,9 @@ static CallInst *ReplaceCallWith(const char *NewFn, CallInst *CI, FunctionType::get(RetTy, ParamTys, false)); } - std::vector Operands(ArgBegin, ArgEnd); - CallInst *NewCI = new CallInst(FCache, Operands, CI->getName(), CI); + SmallVector Operands(ArgBegin, ArgEnd); + CallInst *NewCI = new CallInst(FCache, &Operands[0], Operands.size(), + CI->getName(), CI); if (!CI->use_empty()) CI->replaceAllUsesWith(NewCI); return NewCI; diff --git a/lib/ExecutionEngine/JIT/JIT.cpp b/lib/ExecutionEngine/JIT/JIT.cpp index eabe4ea0759..ca3dbb96a7b 100644 --- a/lib/ExecutionEngine/JIT/JIT.cpp +++ b/lib/ExecutionEngine/JIT/JIT.cpp @@ -187,7 +187,7 @@ GenericValue JIT::runFunction(Function *F, // Convert all of the GenericValue arguments over to constants. Note that we // currently don't support varargs. - std::vector Args; + SmallVector Args; for (unsigned i = 0, e = ArgValues.size(); i != e; ++i) { Constant *C = 0; const Type *ArgTy = FTy->getParamType(i); @@ -225,7 +225,7 @@ GenericValue JIT::runFunction(Function *F, Args.push_back(C); } - CallInst *TheCall = new CallInst(F, Args, "", StubBB); + CallInst *TheCall = new CallInst(F, &Args[0], Args.size(), "", StubBB); TheCall->setTailCall(); if (TheCall->getType() != Type::VoidTy) new ReturnInst(TheCall, StubBB); // Return result of the call. -- 2.34.1