[flang-commits] [flang] [flang][NFC] Remove unnecessary #include directives across flang (PR #207640)

via flang-commits flang-commits at lists.llvm.org
Sun Jul 5 20:47:55 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-openacc

Author: Eugene Epshteyn (eugeneepshteyn)

<details>
<summary>Changes</summary>

Audit of every #include directive in flang/lib/ and flang/include/flang/:

- Remove 423 #include directives (293 from lib/ translation units, 23 from lib-private headers, 107 from public headers) that are not needed: no entity declared by the removed header is used - directly or in any conditional-compilation branch (Windows, macOS, ARM/PowerPC, REAL(16)/REAL(2) configuration macros) - in the including file, and for headers no consumer in flang/lib, flang/tools, flang/unittests, or flang-rt relies on the include as a re-export. Load-bearing includes were examined and retained: textual .inc/.def expansions, tablegen pass-header declaration/definition pairings, dialect headers carrying generated-op interface dependencies, config-macro providers (e.g. float128.h ahead of matmul-instances.inc guards), and ADL formatting machinery (Evaluate/formatting.h).

- Add 5 missing direct #includes in lib translation units that used entities only via now-removed transitive includes, and drop one vestigial 'using namespace Fortran::runtime;' whose declaring header no longer arrives transitively (nothing namespace-qualified from it was used), per the include rules in flang/docs/C++style.md.

Assisted-by: AI

---

Patch is 131.96 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/207640.diff


223 Files Affected:

- (modified) flang/include/flang/Common/constexpr-bitset.h (-1) 
- (modified) flang/include/flang/Common/idioms.h (-1) 
- (modified) flang/include/flang/Decimal/binary-floating-point.h (-2) 
- (modified) flang/include/flang/Evaluate/expression.h (-1) 
- (modified) flang/include/flang/Evaluate/fold-designator.h (-1) 
- (modified) flang/include/flang/Evaluate/fold.h (-1) 
- (modified) flang/include/flang/Evaluate/intrinsics.h (-1) 
- (modified) flang/include/flang/Evaluate/rewrite.h (-1) 
- (modified) flang/include/flang/Evaluate/shape.h (-2) 
- (modified) flang/include/flang/Evaluate/traverse.h (-2) 
- (modified) flang/include/flang/Evaluate/type.h (-1) 
- (modified) flang/include/flang/Frontend/CodeGenOptions.h (-2) 
- (modified) flang/include/flang/Frontend/TextDiagnostic.h (-1) 
- (modified) flang/include/flang/Lower/Allocatable.h (-1) 
- (modified) flang/include/flang/Lower/CUDA.h (-2) 
- (modified) flang/include/flang/Lower/CallInterface.h (-2) 
- (modified) flang/include/flang/Lower/ConvertExprToHLFIR.h (-1) 
- (modified) flang/include/flang/Lower/ConvertType.h (-1) 
- (modified) flang/include/flang/Lower/DirectivesCommon.h (-5) 
- (modified) flang/include/flang/Lower/HostAssociations.h (-2) 
- (modified) flang/include/flang/Lower/Mangler.h (-1) 
- (modified) flang/include/flang/Lower/OpenMP.h (-1) 
- (modified) flang/include/flang/Lower/Runtime.h (-2) 
- (modified) flang/include/flang/Lower/Support/Utils.h (-1) 
- (modified) flang/include/flang/Lower/SymbolMap.h (-1) 
- (modified) flang/include/flang/Optimizer/Builder/DirectivesCommon.h (-2) 
- (modified) flang/include/flang/Optimizer/Builder/Factory.h (-2) 
- (modified) flang/include/flang/Optimizer/Builder/IntrinsicCall.h (-2) 
- (modified) flang/include/flang/Optimizer/Builder/MIFCommon.h (-2) 
- (modified) flang/include/flang/Optimizer/Builder/Runtime/Character.h (-1) 
- (modified) flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h (-2) 
- (modified) flang/include/flang/Optimizer/Builder/Todo.h (-1) 
- (modified) flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h (-1) 
- (modified) flang/include/flang/Optimizer/CodeGen/TypeConverter.h (-1) 
- (modified) flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h (-1) 
- (modified) flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h (-1) 
- (modified) flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h (-4) 
- (modified) flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h (-3) 
- (modified) flang/include/flang/Optimizer/Passes/Pipelines.h (-1) 
- (modified) flang/include/flang/Optimizer/Support/InitFIR.h (-3) 
- (modified) flang/include/flang/Optimizer/Support/InternalNames.h (-1) 
- (modified) flang/include/flang/Optimizer/Support/Utils.h (-1) 
- (modified) flang/include/flang/Optimizer/Transforms/CUDA/CUFAllocationConversion.h (-1) 
- (modified) flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h (-2) 
- (modified) flang/include/flang/Optimizer/Transforms/CUFOpConversion.h (-1) 
- (modified) flang/include/flang/Optimizer/Transforms/MIFOpConversion.h (-1) 
- (modified) flang/include/flang/Optimizer/Transforms/Passes.h (-3) 
- (modified) flang/include/flang/Parser/char-block.h (-2) 
- (modified) flang/include/flang/Parser/char-buffer.h (-1) 
- (modified) flang/include/flang/Parser/openmp-utils.h (-1) 
- (modified) flang/include/flang/Parser/parse-state.h (-4) 
- (modified) flang/include/flang/Parser/parse-tree.h (-1) 
- (modified) flang/include/flang/Parser/token-sequence.h (-1) 
- (modified) flang/include/flang/Parser/unparse.h (-1) 
- (modified) flang/include/flang/Parser/user-state.h (-1) 
- (modified) flang/include/flang/Runtime/CUDA/common.h (-1) 
- (modified) flang/include/flang/Runtime/CUDA/kernel.h (-1) 
- (modified) flang/include/flang/Runtime/array-constructor-consts.h (-1) 
- (modified) flang/include/flang/Runtime/random.h (-1) 
- (modified) flang/include/flang/Runtime/reduce.h (-1) 
- (modified) flang/include/flang/Runtime/reduction.h (-3) 
- (modified) flang/include/flang/Runtime/support.h (-1) 
- (modified) flang/include/flang/Semantics/attr.h (-1) 
- (modified) flang/include/flang/Semantics/expression.h (-3) 
- (modified) flang/include/flang/Semantics/openmp-utils.h (-2) 
- (modified) flang/include/flang/Semantics/runtime-type-info.h (-2) 
- (modified) flang/include/flang/Semantics/semantics.h (-1) 
- (modified) flang/include/flang/Semantics/type.h (-1) 
- (modified) flang/include/flang/Semantics/unparse-with-symbols.h (-1) 
- (modified) flang/include/flang/Tools/CrossToolHelpers.h (-1) 
- (modified) flang/include/flang/Tools/TargetSetup.h (-1) 
- (modified) flang/lib/Decimal/big-radix-floating-point.h (-1) 
- (modified) flang/lib/Decimal/decimal-to-binary.cpp (-1) 
- (modified) flang/lib/Evaluate/expression.cpp (-3) 
- (modified) flang/lib/Evaluate/fold-implementation.h (-2) 
- (modified) flang/lib/Evaluate/host.h (-1) 
- (modified) flang/lib/Evaluate/intrinsics-library.cpp (-1) 
- (modified) flang/lib/Evaluate/intrinsics.cpp (-2) 
- (modified) flang/lib/Evaluate/real.cpp (-3) 
- (modified) flang/lib/Evaluate/variable.cpp (-2) 
- (modified) flang/lib/Frontend/CodeGenOptions.cpp (-1) 
- (modified) flang/lib/Frontend/CompilerInstance.cpp (-2) 
- (modified) flang/lib/Frontend/CompilerInvocation.cpp (-1) 
- (modified) flang/lib/Frontend/FrontendAction.cpp (-1) 
- (modified) flang/lib/Frontend/FrontendActions.cpp (-2) 
- (modified) flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp (-1) 
- (modified) flang/lib/Lower/Allocatable.cpp (-3) 
- (modified) flang/lib/Lower/Bridge.cpp (-1) 
- (modified) flang/lib/Lower/CallInterface.cpp (-1) 
- (modified) flang/lib/Lower/ConvertArrayConstructor.cpp (-1) 
- (modified) flang/lib/Lower/ConvertExpr.cpp (-5) 
- (modified) flang/lib/Lower/ConvertVariable.cpp (-3) 
- (modified) flang/lib/Lower/CustomIntrinsicCall.cpp (-1) 
- (modified) flang/lib/Lower/HostAssociations.cpp (-2) 
- (modified) flang/lib/Lower/IO.cpp (-2) 
- (modified) flang/lib/Lower/Mangler.cpp (-1) 
- (modified) flang/lib/Lower/MultiImageFortran.cpp (-2) 
- (modified) flang/lib/Lower/OpenACC.cpp (-4) 
- (modified) flang/lib/Lower/OpenMP/Atomic.cpp (-1) 
- (modified) flang/lib/Lower/OpenMP/ClauseProcessor.cpp (-1) 
- (modified) flang/lib/Lower/OpenMP/DataSharingProcessor.cpp (-2) 
- (modified) flang/lib/Lower/OpenMP/Decomposer.cpp (-2) 
- (modified) flang/lib/Lower/OpenMP/Decomposer.h (-1) 
- (modified) flang/lib/Lower/OpenMP/OpenMP.cpp (+1-2) 
- (modified) flang/lib/Lower/OpenMP/Utils.cpp (-1) 
- (modified) flang/lib/Lower/PFTBuilder.cpp (-1) 
- (modified) flang/lib/Lower/Runtime.cpp (-6) 
- (modified) flang/lib/Lower/SymbolMap.cpp (-2) 
- (modified) flang/lib/Lower/VectorSubscripts.cpp (-1) 
- (modified) flang/lib/Optimizer/Analysis/AliasAnalysis.cpp (-1) 
- (modified) flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp (-1) 
- (modified) flang/lib/Optimizer/Builder/CUFCommon.cpp (-1) 
- (modified) flang/lib/Optimizer/Builder/MIFCommon.cpp (-4) 
- (modified) flang/lib/Optimizer/Builder/Runtime/Character.cpp (-1) 
- (modified) flang/lib/Optimizer/Builder/Runtime/Derived.cpp (-2) 
- (modified) flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp (-2) 
- (modified) flang/lib/Optimizer/Builder/Runtime/Main.cpp (-2) 
- (modified) flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp (-1) 
- (modified) flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp (-5) 
- (modified) flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp (-1) 
- (modified) flang/lib/Optimizer/CodeGen/PassDetail.h (-5) 
- (modified) flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp (-1) 
- (modified) flang/lib/Optimizer/CodeGen/TBAABuilder.cpp (-1) 
- (modified) flang/lib/Optimizer/CodeGen/Target.cpp (-2) 
- (modified) flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp (-1) 
- (modified) flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp (-1) 
- (modified) flang/lib/Optimizer/Dialect/FIROps.cpp (-1) 
- (modified) flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp (-4) 
- (modified) flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp (-1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp (-3) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp (-1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp (-1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp (-4) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp (-1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp (-2) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/PropagateFortranVariableAttributes.cpp (-1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp (-2) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp (-2) 
- (modified) flang/lib/Optimizer/OpenACC/Support/FIROpenACCAttributes.cpp (-1) 
- (modified) flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp (-1) 
- (modified) flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp (-3) 
- (modified) flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp (-1) 
- (modified) flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp (-4) 
- (modified) flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp (-3) 
- (modified) flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp (-2) 
- (modified) flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp (-1) 
- (modified) flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp (-1) 
- (modified) flang/lib/Optimizer/Passes/Pipelines.cpp (+1) 
- (modified) flang/lib/Optimizer/Support/DataLayout.cpp (-4) 
- (modified) flang/lib/Optimizer/Support/InternalNames.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/AddAliasTags.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/AddDebugInfo.cpp (+1-3) 
- (modified) flang/lib/Optimizer/Transforms/AffineDemotion.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/AffinePromotion.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp (-5) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp (-5) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp (-5) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp (-5) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFGPUToLLVMConversion.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp (-6) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp (-8) 
- (modified) flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp (-5) 
- (modified) flang/lib/Optimizer/Transforms/ConvertComplexPow.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/DebugTypeGenerator.h (-1) 
- (modified) flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/FIRToMemRef.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/FIRToSCF.cpp (+1) 
- (modified) flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp (-4) 
- (modified) flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/LoopVersioning.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/MIFOpConversion.cpp (-4) 
- (modified) flang/lib/Optimizer/Transforms/MemRefDataFlowOpt.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/MemoryAllocation.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/MemoryUtils.cpp (-1) 
- (modified) flang/lib/Optimizer/Transforms/OptimizeArrayRepacking.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp (+1-2) 
- (modified) flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp (-2) 
- (modified) flang/lib/Optimizer/Transforms/StackReclaim.cpp (-3) 
- (modified) flang/lib/Optimizer/Transforms/VScaleAttr.cpp (-14) 
- (modified) flang/lib/Parser/basic-parsers.h (-2) 
- (modified) flang/lib/Parser/executable-parsers.cpp (-1) 
- (modified) flang/lib/Parser/expr-parsers.cpp (-1) 
- (modified) flang/lib/Parser/message.cpp (-2) 
- (modified) flang/lib/Parser/openmp-utils.cpp (-1) 
- (modified) flang/lib/Parser/parse-tree.cpp (-2) 
- (modified) flang/lib/Parser/preprocessor.cpp (-2) 
- (modified) flang/lib/Parser/prescan.cpp (-1) 
- (modified) flang/lib/Parser/program-parsers.cpp (-1) 
- (modified) flang/lib/Parser/source.cpp (-3) 
- (modified) flang/lib/Parser/token-parsers.h (-3) 
- (modified) flang/lib/Semantics/assignment.cpp (-4) 
- (modified) flang/lib/Semantics/canonicalize-omp.cpp (-1) 
- (modified) flang/lib/Semantics/check-acc-structure.cpp (-1) 
- (modified) flang/lib/Semantics/check-case.cpp (-1) 
- (modified) flang/lib/Semantics/check-data.cpp (-2) 
- (modified) flang/lib/Semantics/check-data.h (-6) 
- (modified) flang/lib/Semantics/check-deallocate.cpp (-1) 
- (modified) flang/lib/Semantics/check-do-forall.cpp (-1) 
- (modified) flang/lib/Semantics/check-if-stmt.cpp (-1) 
- (modified) flang/lib/Semantics/check-nullify.cpp (-1) 
- (modified) flang/lib/Semantics/check-select-rank.cpp (-3) 
- (modified) flang/lib/Semantics/check-select-type.cpp (-2) 
- (modified) flang/lib/Semantics/check-stop.cpp (-1) 
- (modified) flang/lib/Semantics/compute-offsets.cpp (-1) 
- (modified) flang/lib/Semantics/mod-file.cpp (-3) 
- (modified) flang/lib/Semantics/pointer-assignment.cpp (-2) 
- (modified) flang/lib/Semantics/resolve-labels.cpp (-1) 
- (modified) flang/lib/Semantics/resolve-names-utils.cpp (-1) 
- (modified) flang/lib/Semantics/resolve-names-utils.h (-1) 
- (modified) flang/lib/Semantics/runtime-type-info.cpp (-2) 
- (modified) flang/lib/Semantics/scope.cpp (-2) 
- (modified) flang/lib/Support/LangOptions.cpp (-1) 
- (modified) flang/lib/Support/Version.cpp (-2) 
- (modified) flang/lib/Testing/fp-testing.cpp (-1) 


``````````diff
diff --git a/flang/include/flang/Common/constexpr-bitset.h b/flang/include/flang/Common/constexpr-bitset.h
index e60ff520ec63a..3b22efb01bb12 100644
--- a/flang/include/flang/Common/constexpr-bitset.h
+++ b/flang/include/flang/Common/constexpr-bitset.h
@@ -18,7 +18,6 @@
 #include <cstdint>
 #include <initializer_list>
 #include <optional>
-#include <type_traits>
 
 namespace Fortran::common {
 RT_OFFLOAD_VAR_GROUP_BEGIN
diff --git a/flang/include/flang/Common/idioms.h b/flang/include/flang/Common/idioms.h
index 06631bcf2e445..2f22ac2a6f4e8 100644
--- a/flang/include/flang/Common/idioms.h
+++ b/flang/include/flang/Common/idioms.h
@@ -26,7 +26,6 @@
 #include "enum-class.h"
 #include "variant.h"
 #include "visit.h"
-#include <array>
 #include <functional>
 #include <list>
 #include <memory>
diff --git a/flang/include/flang/Decimal/binary-floating-point.h b/flang/include/flang/Decimal/binary-floating-point.h
index 380ba958eae62..28b8343effd82 100644
--- a/flang/include/flang/Decimal/binary-floating-point.h
+++ b/flang/include/flang/Decimal/binary-floating-point.h
@@ -16,10 +16,8 @@
 #include "flang/Common/real.h"
 #include "flang/Common/uint128.h"
 #include "flang/Runtime/freestanding-tools.h"
-#include <cinttypes>
 #include <climits>
 #include <cstring>
-#include <type_traits>
 
 namespace Fortran::decimal {
 
diff --git a/flang/include/flang/Evaluate/expression.h b/flang/include/flang/Evaluate/expression.h
index 1afe8ae74c415..a729b1535e191 100644
--- a/flang/include/flang/Evaluate/expression.h
+++ b/flang/include/flang/Evaluate/expression.h
@@ -27,7 +27,6 @@
 #include "flang/Parser/char-block.h"
 #include "flang/Support/Fortran.h"
 #include <algorithm>
-#include <list>
 #include <tuple>
 #include <type_traits>
 #include <variant>
diff --git a/flang/include/flang/Evaluate/fold-designator.h b/flang/include/flang/Evaluate/fold-designator.h
index 9622d2661d3f4..919f3c6db547b 100644
--- a/flang/include/flang/Evaluate/fold-designator.h
+++ b/flang/include/flang/Evaluate/fold-designator.h
@@ -28,7 +28,6 @@
 #include "type.h"
 #include "variable.h"
 #include <optional>
-#include <variant>
 
 namespace Fortran::evaluate {
 
diff --git a/flang/include/flang/Evaluate/fold.h b/flang/include/flang/Evaluate/fold.h
index df43489aa679c..1bf7f37096844 100644
--- a/flang/include/flang/Evaluate/fold.h
+++ b/flang/include/flang/Evaluate/fold.h
@@ -17,7 +17,6 @@
 #include "expression.h"
 #include "tools.h"
 #include "type.h"
-#include <variant>
 
 namespace Fortran::evaluate::characteristics {
 class TypeAndShape;
diff --git a/flang/include/flang/Evaluate/intrinsics.h b/flang/include/flang/Evaluate/intrinsics.h
index 0d6c513606c19..3a165e7ce29a2 100644
--- a/flang/include/flang/Evaluate/intrinsics.h
+++ b/flang/include/flang/Evaluate/intrinsics.h
@@ -11,7 +11,6 @@
 
 #include "call.h"
 #include "characteristics.h"
-#include "type.h"
 #include "flang/Parser/char-block.h"
 #include "flang/Parser/message.h"
 #include "flang/Support/default-kinds.h"
diff --git a/flang/include/flang/Evaluate/rewrite.h b/flang/include/flang/Evaluate/rewrite.h
index 50259cc0959f4..b571a78b81bd6 100644
--- a/flang/include/flang/Evaluate/rewrite.h
+++ b/flang/include/flang/Evaluate/rewrite.h
@@ -10,7 +10,6 @@
 
 #include "flang/Common/visit.h"
 #include "flang/Evaluate/expression.h"
-#include "flang/Support/Fortran.h"
 #include "llvm/ADT/STLExtras.h"
 
 #include <tuple>
diff --git a/flang/include/flang/Evaluate/shape.h b/flang/include/flang/Evaluate/shape.h
index e5c2d6e8cb63d..fa86e22319806 100644
--- a/flang/include/flang/Evaluate/shape.h
+++ b/flang/include/flang/Evaluate/shape.h
@@ -15,10 +15,8 @@
 #include "expression.h"
 #include "traverse.h"
 #include "variable.h"
-#include "flang/Common/indirection.h"
 #include "flang/Evaluate/type.h"
 #include <optional>
-#include <variant>
 
 namespace Fortran::parser {
 class ContextualMessages;
diff --git a/flang/include/flang/Evaluate/traverse.h b/flang/include/flang/Evaluate/traverse.h
index 44cfaa2a7073d..cfb76cc81839e 100644
--- a/flang/include/flang/Evaluate/traverse.h
+++ b/flang/include/flang/Evaluate/traverse.h
@@ -41,8 +41,6 @@
 #include "flang/Common/indirection.h"
 #include "flang/Semantics/symbol.h"
 #include "flang/Semantics/type.h"
-#include <set>
-#include <type_traits>
 
 namespace Fortran::evaluate {
 template <typename Visitor, typename Result,
diff --git a/flang/include/flang/Evaluate/type.h b/flang/include/flang/Evaluate/type.h
index e25122d873f2c..6b861b261fb5f 100644
--- a/flang/include/flang/Evaluate/type.h
+++ b/flang/include/flang/Evaluate/type.h
@@ -32,7 +32,6 @@
 #include <optional>
 #include <string>
 #include <type_traits>
-#include <variant>
 
 namespace Fortran::semantics {
 class DeclTypeSpec;
diff --git a/flang/include/flang/Frontend/CodeGenOptions.h b/flang/include/flang/Frontend/CodeGenOptions.h
index ac3392667d79e..257d7ca9c407d 100644
--- a/flang/include/flang/Frontend/CodeGenOptions.h
+++ b/flang/include/flang/Frontend/CodeGenOptions.h
@@ -22,8 +22,6 @@
 #include "llvm/Support/CodeGen.h"
 #include "llvm/Support/Regex.h"
 #include "llvm/Target/TargetOptions.h"
-#include "llvm/Transforms/Instrumentation/AddressSanitizerOptions.h"
-#include <map>
 #include <memory>
 #include <optional>
 #include <string>
diff --git a/flang/include/flang/Frontend/TextDiagnostic.h b/flang/include/flang/Frontend/TextDiagnostic.h
index ea3fb59831adb..e4cf558875a70 100644
--- a/flang/include/flang/Frontend/TextDiagnostic.h
+++ b/flang/include/flang/Frontend/TextDiagnostic.h
@@ -20,7 +20,6 @@
 #define FORTRAN_FRONTEND_TEXTDIAGNOSTIC_H
 
 #include "clang/Basic/Diagnostic.h"
-#include "llvm/ADT/IntrusiveRefCntPtr.h"
 
 namespace Fortran::frontend {
 
diff --git a/flang/include/flang/Lower/Allocatable.h b/flang/include/flang/Lower/Allocatable.h
index 515fd20b2bcb5..70c7d8441afd7 100644
--- a/flang/include/flang/Lower/Allocatable.h
+++ b/flang/include/flang/Lower/Allocatable.h
@@ -16,7 +16,6 @@
 #include "flang/Lower/AbstractConverter.h"
 #include "flang/Optimizer/Builder/MutableBox.h"
 #include "flang/Runtime/allocator-registry-consts.h"
-#include "llvm/ADT/StringRef.h"
 
 namespace mlir {
 class Value;
diff --git a/flang/include/flang/Lower/CUDA.h b/flang/include/flang/Lower/CUDA.h
index 865a7c6a6fa78..eb9b311177fbd 100644
--- a/flang/include/flang/Lower/CUDA.h
+++ b/flang/include/flang/Lower/CUDA.h
@@ -18,8 +18,6 @@
 #include "flang/Optimizer/Dialect/CUF/CUFOps.h"
 #include "flang/Runtime/allocator-registry-consts.h"
 #include "flang/Semantics/tools.h"
-#include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/OpenACC/OpenACC.h"
 
 namespace mlir {
 class Value;
diff --git a/flang/include/flang/Lower/CallInterface.h b/flang/include/flang/Lower/CallInterface.h
index 348987cb76c5e..df0c73bd91eef 100644
--- a/flang/include/flang/Lower/CallInterface.h
+++ b/flang/include/flang/Lower/CallInterface.h
@@ -30,8 +30,6 @@
 #include "flang/Common/reference.h"
 #include "flang/Evaluate/characteristics.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/IR/BuiltinOps.h"
-#include <memory>
 #include <optional>
 
 namespace Fortran::semantics {
diff --git a/flang/include/flang/Lower/ConvertExprToHLFIR.h b/flang/include/flang/Lower/ConvertExprToHLFIR.h
index 60ecd643be436..d98d0a94a9956 100644
--- a/flang/include/flang/Lower/ConvertExprToHLFIR.h
+++ b/flang/include/flang/Lower/ConvertExprToHLFIR.h
@@ -21,7 +21,6 @@
 #include "flang/Lower/Support/Utils.h"
 #include "flang/Optimizer/Builder/FIRBuilder.h"
 #include "flang/Optimizer/Builder/HLFIRTools.h"
-#include "flang/Optimizer/Dialect/FIRDialect.h"
 
 namespace mlir {
 class Location;
diff --git a/flang/include/flang/Lower/ConvertType.h b/flang/include/flang/Lower/ConvertType.h
index 16b299e2ab319..27e16b42479bc 100644
--- a/flang/include/flang/Lower/ConvertType.h
+++ b/flang/include/flang/Lower/ConvertType.h
@@ -24,7 +24,6 @@
 #include "flang/Evaluate/type.h"
 #include "flang/Support/Fortran.h"
 #include "mlir/Dialect/Arith/IR/Arith.h"
-#include "mlir/IR/BuiltinTypes.h"
 
 namespace mlir {
 class Location;
diff --git a/flang/include/flang/Lower/DirectivesCommon.h b/flang/include/flang/Lower/DirectivesCommon.h
index 195c2f6102066..146f96ed7ac80 100644
--- a/flang/include/flang/Lower/DirectivesCommon.h
+++ b/flang/include/flang/Lower/DirectivesCommon.h
@@ -18,7 +18,6 @@
 #ifndef FORTRAN_LOWER_DIRECTIVES_COMMON_H
 #define FORTRAN_LOWER_DIRECTIVES_COMMON_H
 
-#include "flang/Common/idioms.h"
 #include "flang/Evaluate/tools.h"
 #include "flang/Lower/AbstractConverter.h"
 #include "flang/Lower/Bridge.h"
@@ -33,11 +32,7 @@
 #include "flang/Optimizer/Builder/HLFIRTools.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
 #include "flang/Parser/parse-tree.h"
-#include "flang/Semantics/openmp-directive-sets.h"
 #include "flang/Semantics/tools.h"
-#include "mlir/Dialect/OpenACC/OpenACC.h"
-#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
-#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/Value.h"
 #include <list>
 #include <type_traits>
diff --git a/flang/include/flang/Lower/HostAssociations.h b/flang/include/flang/Lower/HostAssociations.h
index ec9c12e6f4e48..599dcb18d7e45 100644
--- a/flang/include/flang/Lower/HostAssociations.h
+++ b/flang/include/flang/Lower/HostAssociations.h
@@ -9,9 +9,7 @@
 #ifndef FORTRAN_LOWER_HOSTASSOCIATIONS_H
 #define FORTRAN_LOWER_HOSTASSOCIATIONS_H
 
-#include "mlir/IR/Location.h"
 #include "mlir/IR/Types.h"
-#include "mlir/IR/Value.h"
 #include "llvm/ADT/SetVector.h"
 
 namespace Fortran {
diff --git a/flang/include/flang/Lower/Mangler.h b/flang/include/flang/Lower/Mangler.h
index 99da96b0d6ba5..a75a08e64f033 100644
--- a/flang/include/flang/Lower/Mangler.h
+++ b/flang/include/flang/Lower/Mangler.h
@@ -15,7 +15,6 @@
 
 #include "flang/Evaluate/expression.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
-#include "mlir/IR/BuiltinTypes.h"
 #include "llvm/ADT/StringRef.h"
 #include <string>
 
diff --git a/flang/include/flang/Lower/OpenMP.h b/flang/include/flang/Lower/OpenMP.h
index 882ebad9071bc..c70393c78bbec 100644
--- a/flang/include/flang/Lower/OpenMP.h
+++ b/flang/include/flang/Lower/OpenMP.h
@@ -16,7 +16,6 @@
 #include "llvm/ADT/SmallVector.h"
 
 #include <cinttypes>
-#include <utility>
 
 namespace mlir {
 class Operation;
diff --git a/flang/include/flang/Lower/Runtime.h b/flang/include/flang/Lower/Runtime.h
index 204093f9a766a..514345d9a89f1 100644
--- a/flang/include/flang/Lower/Runtime.h
+++ b/flang/include/flang/Lower/Runtime.h
@@ -16,8 +16,6 @@
 #ifndef FORTRAN_LOWER_RUNTIME_H
 #define FORTRAN_LOWER_RUNTIME_H
 
-#include <optional>
-
 namespace mlir {
 class Location;
 class Value;
diff --git a/flang/include/flang/Lower/Support/Utils.h b/flang/include/flang/Lower/Support/Utils.h
index 025baa5282786..7418beb0c02c7 100644
--- a/flang/include/flang/Lower/Support/Utils.h
+++ b/flang/include/flang/Lower/Support/Utils.h
@@ -16,7 +16,6 @@
 #include "flang/Common/indirection.h"
 #include "flang/Parser/char-block.h"
 #include "flang/Semantics/tools.h"
-#include "mlir/Dialect/Arith/IR/Arith.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/IR/BuiltinAttributes.h"
 #include "llvm/ADT/SmallSet.h"
diff --git a/flang/include/flang/Lower/SymbolMap.h b/flang/include/flang/Lower/SymbolMap.h
index 2b0c2ecbf1280..9671dfcd4c874 100644
--- a/flang/include/flang/Lower/SymbolMap.h
+++ b/flang/include/flang/Lower/SymbolMap.h
@@ -13,7 +13,6 @@
 #ifndef FORTRAN_LOWER_SYMBOLMAP_H
 #define FORTRAN_LOWER_SYMBOLMAP_H
 
-#include "flang/Common/reference.h"
 #include "flang/Lower/Support/Utils.h"
 #include "flang/Optimizer/Builder/BoxValue.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
diff --git a/flang/include/flang/Optimizer/Builder/DirectivesCommon.h b/flang/include/flang/Optimizer/Builder/DirectivesCommon.h
index 7413e4e229b00..1315eca562249 100644
--- a/flang/include/flang/Optimizer/Builder/DirectivesCommon.h
+++ b/flang/include/flang/Optimizer/Builder/DirectivesCommon.h
@@ -23,8 +23,6 @@
 #include "flang/Optimizer/Builder/FIRBuilder.h"
 #include "flang/Optimizer/Builder/Todo.h"
 #include "flang/Optimizer/HLFIR/HLFIROps.h"
-#include "mlir/Dialect/OpenACC/OpenACC.h"
-#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
 
 namespace fir::factory {
 
diff --git a/flang/include/flang/Optimizer/Builder/Factory.h b/flang/include/flang/Optimizer/Builder/Factory.h
index fd9f33c340fa9..950a05bd6d2dc 100644
--- a/flang/include/flang/Optimizer/Builder/Factory.h
+++ b/flang/include/flang/Optimizer/Builder/Factory.h
@@ -17,8 +17,6 @@
 
 #include "flang/Optimizer/Dialect/FIROps.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
-#include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "llvm/ADT/iterator_range.h"
 
 namespace mlir {
 class Location;
diff --git a/flang/include/flang/Optimizer/Builder/IntrinsicCall.h b/flang/include/flang/Optimizer/Builder/IntrinsicCall.h
index 30dadc1382f56..ca14b62c2ed48 100644
--- a/flang/include/flang/Optimizer/Builder/IntrinsicCall.h
+++ b/flang/include/flang/Optimizer/Builder/IntrinsicCall.h
@@ -14,11 +14,9 @@
 #include "flang/Optimizer/Builder/Runtime/Character.h"
 #include "flang/Optimizer/Builder/Runtime/Numeric.h"
 #include "flang/Optimizer/Builder/Runtime/RTBuilder.h"
-#include "flang/Runtime/entry-names.h"
 #include "flang/Runtime/iostat-consts.h"
 #include "mlir/Dialect/Complex/IR/Complex.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
-#include "mlir/Dialect/Math/IR/Math.h"
 #include <optional>
 
 namespace fir {
diff --git a/flang/include/flang/Optimizer/Builder/MIFCommon.h b/flang/include/flang/Optimizer/Builder/MIFCommon.h
index bde3e6aa80b34..e93c45e18f04c 100644
--- a/flang/include/flang/Optimizer/Builder/MIFCommon.h
+++ b/flang/include/flang/Optimizer/Builder/MIFCommon.h
@@ -9,9 +9,7 @@
 #ifndef FORTRAN_OPTIMIZER_TRANSFORMS_MIFCOMMON_H_
 #define FORTRAN_OPTIMIZER_TRANSFORMS_MIFCOMMON_H_
 
-#include "flang/Optimizer/Dialect/FIROps.h"
 #include "flang/Optimizer/Dialect/MIF/MIFOps.h"
-#include "mlir/IR/BuiltinOps.h"
 
 static constexpr llvm::StringRef coarrayHandleSuffix = "_coarray_handle";
 
diff --git a/flang/include/flang/Optimizer/Builder/Runtime/Character.h b/flang/include/flang/Optimizer/Builder/Runtime/Character.h
index b365b0bce31df..a29068a128505 100644
--- a/flang/include/flang/Optimizer/Builder/Runtime/Character.h
+++ b/flang/include/flang/Optimizer/Builder/Runtime/Character.h
@@ -10,7 +10,6 @@
 #define FORTRAN_OPTIMIZER_BUILDER_RUNTIME_CHARACTER_H
 
 #include "mlir/Dialect/Arith/IR/Arith.h"
-#include "mlir/Dialect/Func/IR/FuncOps.h"
 
 namespace fir {
 class ExtendedValue;
diff --git a/flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h b/flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
index 89d1aff4b26a8..e2131aa7708a3 100644
--- a/flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
+++ b/flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
@@ -19,7 +19,6 @@
 
 #include "flang/Common/uint128.h"
 #include "flang/Optimizer/Builder/FIRBuilder.h"
-#include "flang/Optimizer/Dialect/FIRDialect.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
 #include "flang/Runtime/io-api.h"
 #include "flang/Runtime/reduce.h"
@@ -29,7 +28,6 @@
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"
 #include <cstdint>
-#include <functional>
 
 #ifdef _MSC_VER
 // On Windows* OS GetCurrentProcessId returns DWORD aka uint32_t
diff --git a/flang/include/flang/Optimizer/Builder/Todo.h b/flang/include/flang/Optimizer/Builder/Todo.h
index d1fb8d2f06615..ba19feeb44ce1 100644
--- a/flang/include/flang/Optimizer/Builder/Todo.h
+++ b/flang/include/flang/Optimizer/Builder/Todo.h
@@ -16,7 +16,6 @@
 #include "flang/Optimizer/Support/FatalError.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
 
 // This is throw-away code used to mark areas of the code that have not yet been
 // developed.
diff --git a/flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h b/flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
index 04b59da72f6ba..a112a0e4b6d51 100644
--- a/flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
+++ b/flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
@@ -10,7 +10,6 @@
 #define FORTRAN_OPTIMIZER_CODEGEN_CODEGENOPENMP_H
 
 #include "mlir/Pass/Pass.h"
-#include "mlir/Pass/PassRegistry.h"
 
 namespace fir {
 class LLVMTypeConverter;
diff --git a/flang/include/flang/Optimizer/CodeGen/TypeConverter.h b/flang/include/flang/Optimizer/CodeGen/TypeConverter.h
index 2a4b9b2e53464..7e7943340a133 100644
--- a/flang/include/flang/Optimizer/CodeGen/TypeConverter.h
+++ b/flang/include/flang/Optimizer/CodeGen/TypeConverter.h
@@ -20,7 +20,6 @@
 #include "flang/Optimizer/Dialect/Support/FIRContext.h"
 #include "flang/Optimizer/Dialect/Support/KindMapping.h"
 #include "mlir/Conversion/LLVMCommon/TypeConverter.h"
-#include "llvm/Support/Debug.h"
 
 // Position of the different values in a `fir.box`.
 static constexpr unsigned kAddrPosInBox = 0;
diff --git a/flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h b/flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
index cf562b2268355..786d224a5299e 100644
--- a/flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
+++ b/flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
@@ -17,7 +17,6 @@
 #include "mlir/IR/Dialect.h"
 #include "mlir/IR/SymbolTable.h"
 #include "mlir/Interfaces/CallInterfaces.h"
-#include "mlir/Interfaces/FunctionInterfaces.h"
 #include "mlir/Interfaces/LoopLikeInterface.h"
 #include "mlir/Interfaces/SideEffectInterfaces.h"
 
diff --git a/flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h b/flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
index 9dc11d6654f23..e2795d8a136b8 100644
--- a/flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
+++ b/flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
@@ -13,7 +13,6 @@
 #ifndef OPTIMIZER_DIALECT_FIRCG_CGOPS_H
 #define OPTIMIZER_DIALECT_FIRCG_CGOPS_H
 
-#include "flang/Optimizer/Dialect/FIRAttr.h"
 #include "flang/Optimizer/Dialect/FIRType.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 
diff --git a/flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h b/flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
index 2f3ab9c81705b..d8dddab0815e6 100644
--- a/flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
+++ b/flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
@@ -11,13 +11,9 @@
 
 #include "mlir/Bytecode/BytecodeOpInterface.h"
 #include "mlir/IR/Dialect.h"
-#include "mlir/IR/OpDefinition.h"
 #include "mlir/IR/OpImplementation.h"
-#include "mlir/IR/SymbolTable.h"
-#include "mlir/Interfaces/CallInterfaces.h"
 #include "mlir/Interfaces/InferTypeOpInterface.h"
 #include "mlir/Interfaces/SideEffectInterfaces.h"
-#include "mlir/Interfaces/VectorInterfaces.h"
 
 //===----------------------------------------------------------------------===//
 // MIFDialect
diff --git a/flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h b/flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
index 0b8af4963c809..ffc21db05f2da 100644
--- a/flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
+++ b/flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
@@ -13,9 +13,6 @@
 #ifndef FORTRAN_OPTIMIZER_DIALECT_SAFETEMPARRAYCOPYATTRINTERFACE_H
 #define FORTRAN_OPTIMIZER_DIALECT_SAFETEMPARRAYCOPYATTRINTERFACE_H
 
-#include "flang/Optimizer/Dialect/FIRAttr.h"
-#include "flang/Optimizer/Dialect/FIRType.h"
-#include "mlir/IR/BuiltinTypes.h"
 #include "mlir/IR/OpDefinition.h"
 
 namespace fir {
diff --git a/flang/include/flang/Optimizer/Passes/Pipelines.h b/flang/include/flang/Optimizer/Passes/Pipelines.h
index 63fbdc37073b2..8d867612d405c 100644
--- a/flang/include/flang/Optimizer/Passes/Pipelines.h
+++ b/flang/include/flang/Optimizer/Passes/Pipelines.h
@@ -22,7 +22,6 @@
 #include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
-#include "mlir/Dialect/OpenMP/Transforms/Passes.h"
 #include "mlir/Pass/PassManager.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
 #include "mlir/Transforms/Passes.h"
diff --git a/flang/include/flang/Optimizer/Support/InitFIR.h b/flang/include/flang/Optimizer/Support/InitFIR.h
index 6051dbb07fad7..20b21767cd3de 100644
--- a/flang/include/flang/Optimizer/Support/InitFIR.h
+++ b/flang/include/flang/Optimizer/Support/InitFIR.h
@@ -38,9 +38,6 @@
 #include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Transforms/Passes.h"
 #include "mlir/InitAllDialects.h"
-#include "mlir/Pass/Pass.h"
-#include "mlir/Pass/PassRegist...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/207640


More information about the flang-commits mailing list