diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-08-09 20:45:32 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-08-09 20:45:32 +0000 |
commit | 028d3e4d0fc16abb55ab566f909d9a30951a7325 (patch) | |
tree | c85eeda07ad4838b7aa3a010200930713d1a6038 /clang/tools/libclang/CIndexCodeCompletion.cpp | |
parent | f4804c696d55bb048d976637d953d83bebfeee9d (diff) | |
download | bcm5719-llvm-028d3e4d0fc16abb55ab566f909d9a30951a7325.tar.gz bcm5719-llvm-028d3e4d0fc16abb55ab566f909d9a30951a7325.zip |
Use precompiled preambles for in-process code completion.
llvm-svn: 110596
Diffstat (limited to 'clang/tools/libclang/CIndexCodeCompletion.cpp')
-rw-r--r-- | clang/tools/libclang/CIndexCodeCompletion.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/clang/tools/libclang/CIndexCodeCompletion.cpp b/clang/tools/libclang/CIndexCodeCompletion.cpp index 4ab6b9bd91e..790f32fbda4 100644 --- a/clang/tools/libclang/CIndexCodeCompletion.cpp +++ b/clang/tools/libclang/CIndexCodeCompletion.cpp @@ -20,17 +20,18 @@ #include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendDiagnostic.h" #include "clang/Sema/CodeCompleteConsumer.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Support/MemoryBuffer.h" +#include "llvm/Support/Timer.h" +#include "llvm/Support/raw_ostream.h" #include "llvm/System/Program.h" #include <cstdlib> #include <cstdio> + #ifdef UDP_CODE_COMPLETION_LOGGER #include "clang/Basic/Version.h" -#include "llvm/ADT/SmallString.h" -#include "llvm/Support/Timer.h" -#include "llvm/Support/raw_ostream.h" #include <arpa/inet.h> #include <sys/socket.h> #include <sys/types.h> @@ -277,7 +278,16 @@ CXCodeCompleteResults *clang_codeComplete(CXIndex CIdx, #endif bool EnableLogging = getenv("LIBCLANG_CODE_COMPLETION_LOGGING") != 0; - + + llvm::OwningPtr<llvm::NamedRegionTimer> CCTimer; + if (getenv("LIBCLANG_TIMING")) { + llvm::SmallString<128> TimerName; + llvm::raw_svector_ostream TimerNameOut(TimerName); + TimerNameOut << "Code completion @ " << complete_filename << ":" + << complete_line << ":" << complete_column; + CCTimer.reset(new llvm::NamedRegionTimer(TimerNameOut.str())); + } + // The indexer, which is mainly used to determine where diagnostics go. CIndexer *CXXIdx = static_cast<CIndexer *>(CIdx); |