[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