This is an archive of the discontinued LLVM Phabricator instance.

[Support] Move StringExtras.h include from Error.h to Error.cpp (attempt 3)
ClosedPublic

Authored by IncludeGuardian on Jul 8 2023, 3:23 AM.

Details

Summary

Add missing transitive includes missed from https://reviews.llvm.org/D154543.

Move the implementation of the toString function from
llvm/Support/Error.h to the source file, which allows us to move
#include "llvm/ADT/StringExtras.h" to the source file as well.

As Error.h is present in a large number of translation units this
means we are unnecessarily bringing in the contents of
StringExtras.h - itself a large file with lots of includes - and
slowing down compilation.

Also move the #include "llvm/ADT/SmallVector.h" directive to the
source file as it's no longer needed, but this does not give as much of
a benefit.

This reduces the total number of preprocessing tokens across the LLVM
source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a
reduction of ~0.87%. This should result in a small improvement in
compilation time.

Diff Detail

Event Timeline

IncludeGuardian created this revision.Jul 8 2023, 3:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2023, 3:23 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
IncludeGuardian requested review of this revision.Jul 8 2023, 3:23 AM
Herald added projects: Restricted Project, Restricted Project, Restricted Project. · View Herald TranscriptJul 8 2023, 3:23 AM

Run clang-format over changes

This revision was not accepted when it landed; it landed in state Needs Review.Jul 8 2023, 12:16 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.