[all-commits] [llvm/llvm-project] 837ca4: [NFCI] Change the data structure of MaybeODRUseExp...
Erich Keane via All-commits
all-commits at lists.llvm.org
Mon Jun 15 08:16:15 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 837ca4796065ccd0ac0d20860341ac06a9645009
https://github.com/llvm/llvm-project/commit/837ca4796065ccd0ac0d20860341ac06a9645009
Author: Erich Keane <erich.keane at intel.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[NFCI] Change the data structure of MaybeODRUseExprSet
In 1eddce41, I fixed a non-deterministic result problem by switching a
SmallPtrSet to a SmallSetVector to ensure we iterated it
deterministically. Unfortunately, this seems to show a surprisingly
significant compiletime impact.
This patch does 2 things in an attempt to fix this:
First, it makes the 'small size' optimization 4 instead of 2. As these
are pointers, this only increases the size of Sema by 4
sizeof(pointer)s (2 for the set, 2 for the vector).
Second, instead of using SmallSetVector, which is a SmallVector +
SmallDenseSet, it uses a SetVector of SmallVector + SmallPtrSet. The
hope is that the pointer-specific optimizations of the SmallPtrSet will
minimize the impact on compile-time.
More information about the All-commits
mailing list