diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-06-13 19:50:29 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-06-13 19:50:29 +0000 |
commit | bd7b1c89fccd48bf967881a49d97e6645d4b3338 (patch) | |
tree | 144e976a9888d864a1f464bfcd40a6313b31288e /llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp | |
parent | f3cf9d1f6e4c9091b5bfc34bf8211753814b2560 (diff) | |
download | bcm5719-llvm-bd7b1c89fccd48bf967881a49d97e6645d4b3338.tar.gz bcm5719-llvm-bd7b1c89fccd48bf967881a49d97e6645d4b3338.zip |
[ExecutionEngine] ArrayRefize argument passing.
No functionality change intended.
llvm-svn: 239687
Diffstat (limited to 'llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp index 8562981b629..f103c09659a 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp @@ -67,7 +67,7 @@ Interpreter::~Interpreter() { void Interpreter::runAtExitHandlers () { while (!AtExitHandlers.empty()) { - callFunction(AtExitHandlers.back(), std::vector<GenericValue>()); + callFunction(AtExitHandlers.back(), None); AtExitHandlers.pop_back(); run(); } @@ -75,9 +75,8 @@ void Interpreter::runAtExitHandlers () { /// run - Start execution with the specified function and arguments. /// -GenericValue -Interpreter::runFunction(Function *F, - const std::vector<GenericValue> &ArgValues) { +GenericValue Interpreter::runFunction(Function *F, + ArrayRef<GenericValue> ArgValues) { assert (F && "Function *F was null at entry to run()"); // Try extra hard not to pass extra args to a function that isn't @@ -87,10 +86,9 @@ Interpreter::runFunction(Function *F, // parameters than it is declared to take. This does not attempt to // take into account gratuitous differences in declared types, // though. - std::vector<GenericValue> ActualArgs; - const unsigned ArgCount = F->getFunctionType()->getNumParams(); - for (unsigned i = 0; i < ArgCount; ++i) - ActualArgs.push_back(ArgValues[i]); + const size_t ArgCount = F->getFunctionType()->getNumParams(); + ArrayRef<GenericValue> ActualArgs = + ArgValues.slice(0, std::min(ArgValues.size(), ArgCount)); // Set up the function call. callFunction(F, ActualArgs); |