[PATCH] D77621: Change BitcodeWriter buffer to std::vector instead of SmallVector.

Andrew via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 23 11:21:43 PDT 2020


browneee added a comment.

I resubmitted the report_fatal_error checks again under D77601 <https://reviews.llvm.org/D77601>

http://llvm-compile-time-tracker.com/compare.php?from=7375212172951d2fc283c81d03c1a8588c3280c6&to=a30e7ea88e75568feed020aedae73c52de888835&stat=max-rss
http://llvm-compile-time-tracker.com/compare.php?from=7375212172951d2fc283c81d03c1a8588c3280c6&to=a30e7ea88e75568feed020aedae73c52de888835&stat=instructions

Imo impact from this part is insignificant.

Other pieces I see as possibly impacting compile time are:

1. This correction to SmallVectorTemplateCommon::max_size().   But SizeTypeMax() is static constexpr, this seems like it could still be optimized to a constant.

  -  size_type max_size() const { return size_type(-1) / sizeof(T); }
  +  size_type max_size() const {
  +    return std::min(this->SizeTypeMax(), size_type(-1) / sizeof(T));
  +  }



2. More function calls. They also appear fairly optimizable to me.

I may not have good insight into the actual optimization behavior here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77621





More information about the cfe-commits mailing list