[PATCH] D91837: ADT: Fix reference invalidation in SmallVector APIs that pass in a value

Duncan P. N. Exon Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 20 12:10:01 PST 2020


dexonsmith added a comment.

Compile-time results below for llvm/lib/Target/X86/X86ISelLowering.cpp:

  $ for c in $(find refinvalid-*/build -type f -name clang-12); do du $c; cabs=$PWD/$c; (cd build && for n in {0..4}; do /usr/bin/time ../compile-big-file.sh $cabs; done); done
  231952	refinvalid-baseline/build/bin/clang-12
         30.66 real        30.28 user         0.36 sys
         30.14 real        29.79 user         0.34 sys
         30.11 real        29.77 user         0.33 sys
         29.85 real        29.52 user         0.33 sys
         30.04 real        29.72 user         0.32 sys
  232200	refinvalid-pushback+append+insert+resize/build/bin/clang-12
         30.55 real        30.20 user         0.34 sys
         30.59 real        30.27 user         0.31 sys
         30.14 real        29.80 user         0.33 sys
         30.02 real        29.69 user         0.33 sys
         30.11 real        29.80 user         0.30 sys
  232200	refinvalid-pushback+append+insert/build/bin/clang-12
         30.30 real        29.93 user         0.36 sys
         30.45 real        30.11 user         0.34 sys
         30.14 real        29.82 user         0.31 sys
         30.74 real        30.40 user         0.32 sys
         30.86 real        30.52 user         0.33 sys
  232224	refinvalid-pushback/build/bin/clang-12
         30.29 real        29.95 user         0.32 sys
         30.35 real        30.00 user         0.33 sys
         30.22 real        29.87 user         0.34 sys
         30.01 real        29.68 user         0.33 sys
         30.36 real        30.04 user         0.31 sys

Seems mostly in the noise to me. (top is baseline, next is this patch, next is just push_back, append, and insert, final is just push_back and single-element insert)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91837/new/

https://reviews.llvm.org/D91837



More information about the llvm-commits mailing list