[llvm-commits] CVS: llvm/lib/Bytecode/Reader/Reader.cpp
Reid Spencer
rspencer at reidspencer.com
Mon Feb 12 18:14:35 PST 2007
Chris,
I have a question ..
On Mon, 2007-02-12 at 19:54 -0600, Chris Lattner wrote:
>
> Changes in directory llvm/lib/Bytecode/Reader:
>
> Reader.cpp updated: 1.236 -> 1.237
> ---
> Log message:
>
> stop passing vector into ctors
>
>
> ---
> Diffs of the changes: (+2 -2)
>
> Reader.cpp | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
>
> Index: llvm/lib/Bytecode/Reader/Reader.cpp
> diff -u llvm/lib/Bytecode/Reader/Reader.cpp:1.236 llvm/lib/Bytecode/Reader/Reader.cpp:1.237
> --- llvm/lib/Bytecode/Reader/Reader.cpp:1.236 Mon Feb 12 12:53:43 2007
> +++ llvm/lib/Bytecode/Reader/Reader.cpp Mon Feb 12 19:53:54 2007
> @@ -702,7 +702,7 @@
> Params.push_back(getValue(Oprnds[i], Oprnds[i+1]));
> }
>
> - Result = new CallInst(F, Params);
> + Result = new CallInst(F, &Params[0], Params.size());
I don't see why this series of changes is better for performance. The
Constructor is currently defined as:
CallInst(Value *F, const std::vector<Value*> &Par,
const std::string &Name = "", Instruction *InsertBefore = 0);
Because Par is a reference to a const std::vector<Value*> there should
be no copying of the vector when the argument is passed. It would just
pass the pointer implied by the reference. Your change makes it pass two
arguments, which can't be faster.
Is there something I'm missing here?
Reid.
> if (isTailCall) cast<CallInst>(Result)->setTailCall();
> if (CallingConv) cast<CallInst>(Result)->setCallingConv(CallingConv);
> break;
> @@ -756,7 +756,7 @@
> Params.push_back(getValue(Oprnds[i], Oprnds[i+1]));
> }
>
> - Result = new InvokeInst(F, Normal, Except, Params);
> + Result = new InvokeInst(F, Normal, Except, &Params[0], Params.size());
> if (CallingConv) cast<InvokeInst>(Result)->setCallingConv(CallingConv);
> break;
> }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list