[CodeGen] Handle recursion in LLVMIRGeneration Timer.
authorDavide Italiano <davide@freebsd.org>
Thu, 21 Jul 2016 06:28:48 +0000 (06:28 +0000)
committerDavide Italiano <davide@freebsd.org>
Thu, 21 Jul 2016 06:28:48 +0000 (06:28 +0000)
commitb99fabd4ec2bf85ffa41ec5e4f5a34c4dd44cd62
treec433f8aaf74b0fc20267bfa5d4f8ab3019fd4f26
parent187db169966d7ee38c589571e50a912108099555
[CodeGen] Handle recursion in LLVMIRGeneration Timer.

This can happen when emitting a local decl, which triggers
loading a decl imported from an AST file, which we then
hand to the AST consumer. Timer is not allowed to recurse
so an assertion fire. Keep a reference counter to avoid this
problem. LGTM'd by Richard Smith on IRC.

Differential Revision:  https://reviews.llvm.org/D20748

llvm-svn: 276242
clang/lib/CodeGen/CodeGenAction.cpp