Index: src/PNaClTranslator.cpp |
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp |
index af78e2f3e802e3f29af026d6a9f3aa69d2762c20..f05835a17f63fa7a4506895a69094c4932ed343f 100644 |
--- a/src/PNaClTranslator.cpp |
+++ b/src/PNaClTranslator.cpp |
@@ -843,6 +843,11 @@ public: |
NextLocalInstIndex(Context->getNumGlobalValueIDs()), |
InstIsTerminating(false) { |
Func->setFunctionName(LLVMFunc->getName()); |
+ if (getFlags().TimeEachFunction) |
+ getTranslator().getContext()->pushTimer( |
+ getTranslator().getContext()->getTimerID( |
+ Ice::GlobalContext::TSK_Funcs, Func->getFunctionName()), |
+ Ice::GlobalContext::TSK_Funcs); |
Func->setReturnType(Context->convertToIceType(LLVMFunc->getReturnType())); |
Func->setInternal(LLVMFunc->hasInternalLinkage()); |
CurrentNode = InstallNextBasicBlock(); |
@@ -1404,6 +1409,11 @@ void FunctionParser::ExitBlock() { |
// for such parsing errors. |
if (Context->getNumErrors() == 0) |
getTranslator().translateFcn(Func); |
+ if (getFlags().TimeEachFunction) |
+ getTranslator().getContext()->popTimer( |
+ getTranslator().getContext()->getTimerID(Ice::GlobalContext::TSK_Funcs, |
+ Func->getFunctionName()), |
+ Ice::GlobalContext::TSK_Funcs); |
} |
void FunctionParser::ReportInvalidBinaryOp(Ice::InstArithmetic::OpKind Op, |