]> granicus.if.org Git - clang/commit
Speed up looking up static diagnostic infos.
authorBenjamin Kramer <benny.kra@googlemail.com>
Tue, 11 Dec 2012 18:00:22 +0000 (18:00 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Tue, 11 Dec 2012 18:00:22 +0000 (18:00 +0000)
commita07b59e5e9b55033239c80552094421a01b75c8a
tree2d6cbf05264b8c79894070781061e2d0ff2f6f54
parent10b5fa283359bd423f8624c4dda11899bcc8ca9c
Speed up looking up static diagnostic infos.

Instead of doing a binary search over the whole diagnostic table (which weighs
a whopping 48k on x86_64), use the existing enums to compute the index in the
table. This avoids loading any unneeded data from the table and avoids littering
CPU caches with it. This code is in a hot path for code with many diagnostics.

1% speedup on -fsyntax-only gcc.c, which emits a lot of warnings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169890 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Basic/DiagnosticIDs.cpp