Number of lines output by preprocessor:
before: 1065940348
after:  1065307662
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Paths 
  |  Differential  D120659  
Cleanup includes: LLVMAnalysis ClosedPublic Authored by serge-sans-paille on Feb 28 2022, 5:13 AM. 
Details Summary Number of lines output by preprocessor: Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup 
Diff Detail 
 Event TimelineHerald added subscribers: jeroen.dobbelaere, ormris, ChuanqiXu and 9 others.  ·  View Herald TranscriptFeb 28 2022, 5:14 AM Comment Actions 
 Assuming that you have tested BUILD_SHARED_LIBS=on, and built clang, clang-tools-extra, polly, and mlir. I find that flang/lldb doesn't use llvm/Analysis, but building them may be useful for other directory cleanups. 
 This revision is now accepted and ready to land.Feb 28 2022, 2:38 PM This revision was landed with ongoing or failed builds.Mar 1 2022, 9:02 AM Closed by commit rG71c3a5519dbc: Cleanup includes: LLVMAnalysis (authored by serge-sans-paille).  ·  Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions It looks like this commit may be causing a build error with EXPENSIVE_CHECKS enabled. It would be great if you could take a look. https://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-expensive/21961/console FAILED: lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyCallGraph.cpp.o 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBUILD_EXAMPLES -DEXPENSIVE_CHECKS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/clang-build/lib/Analysis -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/clang-build/include -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.9  -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyCallGraph.cpp.o -MF lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyCallGraph.cpp.o.d -o lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyCallGraph.cpp.o -c /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp:590:23: error: use of undeclared identifier 'make_scope_exit'
  auto VerifyOnExit = make_scope_exit([&]() { verify(); });
                      ^
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp:735:23: error: use of undeclared identifier 'make_scope_exit'
  auto VerifyOnExit = make_scope_exit([&]() { verify(); });
                      ^
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp:755:23: error: use of undeclared identifier 'make_scope_exit'
  auto VerifyOnExit = make_scope_exit([&]() { verify(); });
                      ^
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-expensive/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp:1021:23: error: use of undeclared identifier 'make_scope_exit'
  auto VerifyOnExit = make_scope_exit([&]() { verify(); });
                      ^
Revision Contents 
 
Diff 412127 llvm/include/llvm/Analysis/AliasSetTracker.h
 llvm/include/llvm/Analysis/AssumeBundleQueries.h
 llvm/include/llvm/Analysis/BasicAliasAnalysis.h
 llvm/include/llvm/Analysis/CFGPrinter.h
 llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h
 llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h
 llvm/include/llvm/Analysis/CGSCCPassManager.h
 llvm/include/llvm/Analysis/CallGraph.h
 llvm/include/llvm/Analysis/ConstantFolding.h
 llvm/include/llvm/Analysis/DDG.h
 llvm/include/llvm/Analysis/DDGPrinter.h
 llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
 llvm/include/llvm/Analysis/Delinearization.h
 llvm/include/llvm/Analysis/DivergenceAnalysis.h
 llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
 llvm/include/llvm/Analysis/GlobalsModRef.h
 llvm/include/llvm/Analysis/IVDescriptors.h
 llvm/include/llvm/Analysis/IVUsers.h
 llvm/include/llvm/Analysis/InlineAdvisor.h
 llvm/include/llvm/Analysis/InlineCost.h
 llvm/include/llvm/Analysis/LoopCacheAnalysis.h
 llvm/include/llvm/Analysis/LoopPass.h
 llvm/include/llvm/Analysis/LoopUnrollAnalyzer.h
 llvm/include/llvm/Analysis/MLInlineAdvisor.h
 llvm/include/llvm/Analysis/MemorySSA.h
 llvm/include/llvm/Analysis/MemorySSAUpdater.h
 llvm/include/llvm/Analysis/PhiValues.h
 llvm/include/llvm/Analysis/PtrUseVisitor.h
 llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
 llvm/include/llvm/Analysis/ScalarEvolution.h
 llvm/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
 llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
 llvm/include/llvm/Analysis/ScalarEvolutionNormalization.h
 llvm/include/llvm/Analysis/StackLifetime.h
 llvm/include/llvm/Analysis/SyncDependenceAnalysis.h
 llvm/include/llvm/Analysis/SyntheticCountsUtils.h
 llvm/include/llvm/Analysis/TargetTransformInfo.h
 llvm/include/llvm/Analysis/TypeMetadataUtils.h
 llvm/include/llvm/Analysis/ValueTracking.h
 llvm/include/llvm/Transforms/IPO/Attributor.h
 llvm/lib/Analysis/AliasAnalysis.cpp
 llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
 llvm/lib/Analysis/AliasSetTracker.cpp
 llvm/lib/Analysis/AssumeBundleQueries.cpp
 llvm/lib/Analysis/AssumptionCache.cpp
 llvm/lib/Analysis/BasicAliasAnalysis.cpp
 llvm/lib/Analysis/BlockFrequencyInfo.cpp
 llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
 llvm/lib/Analysis/CFGPrinter.cpp
 llvm/lib/Analysis/CGSCCPassManager.cpp
 llvm/lib/Analysis/CallGraph.cpp
 llvm/lib/Analysis/CallGraphSCCPass.cpp
 llvm/lib/Analysis/CallPrinter.cpp
 llvm/lib/Analysis/CodeMetrics.cpp
 llvm/lib/Analysis/ConstantFolding.cpp
 llvm/lib/Analysis/ConstraintSystem.cpp
 llvm/lib/Analysis/CostModel.cpp
 llvm/lib/Analysis/CycleAnalysis.cpp
 llvm/lib/Analysis/Delinearization.cpp
 llvm/lib/Analysis/DemandedBits.cpp
 llvm/lib/Analysis/DependenceAnalysis.cpp
 llvm/lib/Analysis/DivergenceAnalysis.cpp
 llvm/lib/Analysis/DominanceFrontier.cpp
 llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
 llvm/lib/Analysis/GlobalsModRef.cpp
 llvm/lib/Analysis/IVDescriptors.cpp
 llvm/lib/Analysis/IVUsers.cpp
 llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
 llvm/lib/Analysis/InlineAdvisor.cpp
 llvm/lib/Analysis/InlineCost.cpp
 llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp
 llvm/lib/Analysis/InstructionSimplify.cpp
 llvm/lib/Analysis/Interval.cpp
 llvm/lib/Analysis/LazyCallGraph.cpp
 llvm/lib/Analysis/LazyValueInfo.cpp
 llvm/lib/Analysis/Lint.cpp
 llvm/lib/Analysis/Loads.cpp
 llvm/lib/Analysis/LoopAccessAnalysis.cpp
 llvm/lib/Analysis/LoopAnalysisManager.cpp
 llvm/lib/Analysis/LoopInfo.cpp
 llvm/lib/Analysis/LoopNestAnalysis.cpp
 llvm/lib/Analysis/LoopPass.cpp
 llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
 llvm/lib/Analysis/MLInlineAdvisor.cpp
 llvm/lib/Analysis/MemDepPrinter.cpp
 llvm/lib/Analysis/MemDerefPrinter.cpp
 llvm/lib/Analysis/MemoryBuiltins.cpp
 llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
 llvm/lib/Analysis/MemoryLocation.cpp
 llvm/lib/Analysis/MemorySSA.cpp
 llvm/lib/Analysis/MemorySSAUpdater.cpp
 llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp
 llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
 llvm/lib/Analysis/MustExecute.cpp
 llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp
 llvm/lib/Analysis/OverflowInstAnalysis.cpp
 llvm/lib/Analysis/PHITransAddr.cpp
 llvm/lib/Analysis/ProfileSummaryInfo.cpp
 llvm/lib/Analysis/PtrUseVisitor.cpp
 llvm/lib/Analysis/RegionPass.cpp
 llvm/lib/Analysis/RegionPrinter.cpp
 llvm/lib/Analysis/ReplayInlineAdvisor.cpp
 llvm/lib/Analysis/ScalarEvolution.cpp
 
 llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
 llvm/lib/Analysis/ScalarEvolutionDivision.cpp
 llvm/lib/Analysis/ScopedNoAliasAA.cpp
 llvm/lib/Analysis/StackLifetime.cpp
 llvm/lib/Analysis/StackSafetyAnalysis.cpp
 llvm/lib/Analysis/SyncDependenceAnalysis.cpp
 llvm/lib/Analysis/SyntheticCountsUtils.cpp
 llvm/lib/Analysis/TargetTransformInfo.cpp
 llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
 llvm/lib/Analysis/TypeMetadataUtils.cpp
 llvm/lib/Analysis/VFABIDemangling.cpp
 llvm/lib/Analysis/ValueTracking.cpp
 
 llvm/lib/Transforms/Coroutines/CoroSplit.cpp
 llvm/lib/Transforms/IPO/AlwaysInliner.cpp
 llvm/lib/Transforms/IPO/InlineSimple.cpp
 llvm/lib/Transforms/IPO/Inliner.cpp
 llvm/lib/Transforms/IPO/PartialInlining.cpp
 llvm/lib/Transforms/Scalar/LoopPassManager.cpp
 llvm/lib/Transforms/Vectorize/VPlan.h
 llvm/tools/llvm-reduce/ReducerWorkItem.cpp
 llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
 llvm/unittests/Analysis/InlineCostTest.cpp
 llvm/unittests/Analysis/LoopInfoTest.cpp
 llvm/unittests/Passes/PluginsTest.cpp
 llvm/unittests/Transforms/Utils/CloningTest.cpp
  | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Just uncondtionally include it? The header does #ifdef EXPENSIVE_CHECKS itself.