Changes in directory llvm/lib/Support:
FoldingSet.cpp updated: 1.15 -> 1.16 --- Log message: Encode small integers more densely in foldingset, avoiding overflowing the SmallVector as often. --- Diffs of the changes: (+4 -1) FoldingSet.cpp | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) Index: llvm/lib/Support/FoldingSet.cpp diff -u llvm/lib/Support/FoldingSet.cpp:1.15 llvm/lib/Support/FoldingSet.cpp:1.16 --- llvm/lib/Support/FoldingSet.cpp:1.15 Wed Jan 31 23:33:21 2007 +++ llvm/lib/Support/FoldingSet.cpp Sat Feb 3 19:48:10 2007 @@ -44,7 +44,10 @@ } void FoldingSetImpl::NodeID::AddInteger(uint64_t I) { Bits.push_back(unsigned(I)); - Bits.push_back(unsigned(I >> 32)); + + // If the integer is small, encode it just as 32-bits. + if ((uint64_t)(int)I != I) + Bits.push_back(unsigned(I >> 32)); } void FoldingSetImpl::NodeID::AddFloat(float F) { Bits.push_back(FloatToBits(F)); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits