Workaround a performance issue with modules + PCH
authorBen Langmuir <blangmuir@apple.com>
Fri, 10 Apr 2015 22:25:42 +0000 (22:25 +0000)
committerBen Langmuir <blangmuir@apple.com>
Fri, 10 Apr 2015 22:25:42 +0000 (22:25 +0000)
commiteb8bd2d9b3776ead6c185394806264522e29f6c4
tree4668910d415cad892571b6b4fbe2d5fdc6fd7acf
parentb4bf14ceaad62093878999a02409ac6a94b82b01
Workaround a performance issue with modules + PCH

More fallout from r228234; when looking up an identifier in a PCH that
imports the Cocoa module on Darwin, it was taking 2 to 5 seconds
because we were hammering the MapVector::erase() function, which is
O(n).  For now, just clear() the contained SmallVector to get back to
0.25 - 0.5 seconds.  This is probably not the long-term fix, because
without modules or without PCH the performance is more like 0.02
seconds.

llvm-svn: 234655
clang/lib/Serialization/ASTReader.cpp