[clang] [compiler-rt] [libcxxabi] [llvm] Automatic removal of unused standard header (PR #192800)

via cfe-commits cfe-commits at lists.llvm.org
Sat Apr 18 13:36:46 PDT 2026


https://github.com/serge-sans-paille updated https://github.com/llvm/llvm-project/pull/192800

>From faef13e4b46372a258625acae700437ea7801ec6 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 13:56:57 +0200
Subject: [PATCH 1/6] Automatic removal of unused standard header

patch automatically generated through

$ diskarzhan --fix `find llvm/lib llvm/include -name '*.cpp' -or -name '*.h'`
---
 llvm/include/llvm-c/DataTypes.h               |  3 ---
 llvm/include/llvm/ADT/BitVector.h             |  1 -
 llvm/include/llvm/ADT/CombinationGenerator.h  |  1 -
 llvm/include/llvm/ADT/DenseMapInfo.h          |  1 -
 llvm/include/llvm/ADT/STLExtras.h             |  1 -
 llvm/include/llvm/ADT/SmallBitVector.h        |  1 -
 llvm/include/llvm/ADT/SmallPtrSet.h           |  1 -
 llvm/include/llvm/ADT/StringSwitch.h          |  2 --
 llvm/include/llvm/ADT/bit.h                   |  1 -
 llvm/include/llvm/ADT/ilist.h                 |  1 -
 .../llvm/Analysis/BranchProbabilityInfo.h     |  4 ---
 .../include/llvm/Analysis/DominanceFrontier.h |  1 -
 llvm/include/llvm/Analysis/InlineOrder.h      |  1 -
 .../CodeGen/GlobalISel/GIMatchTableExecutor.h |  1 -
 llvm/include/llvm/CodeGen/MachineDominators.h |  1 -
 .../llvm/CodeGen/MachineJumpTableInfo.h       |  1 -
 llvm/include/llvm/CodeGen/Rematerializer.h    |  1 -
 llvm/include/llvm/CodeGen/TargetCallingConv.h |  1 -
 llvm/include/llvm/DWARFLinker/StringPool.h    |  1 -
 llvm/include/llvm/DebugInfo/GSYM/FileEntry.h  |  1 -
 .../llvm/DebugInfo/PDB/IPDBEnumChildren.h     |  1 -
 llvm/include/llvm/Demangle/ItaniumDemangle.h  |  1 -
 llvm/include/llvm/ExecutionEngine/JITSymbol.h |  1 -
 .../Orc/CompileOnDemandLayer.h                |  1 -
 .../llvm/ExecutionEngine/Orc/ExecutionUtils.h |  1 -
 .../Orc/RTDyldObjectLinkingLayer.h            |  1 -
 .../Orc/TargetProcess/JITLoaderPerf.h         |  1 -
 .../Orc/TargetProcess/JITLoaderVTune.h        |  1 -
 .../llvm/IR/GetElementPtrTypeIterator.h       |  1 -
 llvm/include/llvm/IR/LegacyPassNameParser.h   |  1 -
 llvm/include/llvm/IR/PassManager.h            |  1 -
 llvm/include/llvm/IR/ProfDataUtils.h          |  1 -
 llvm/include/llvm/IR/StructuralHash.h         |  1 -
 llvm/include/llvm/LinkAllPasses.h             |  1 -
 .../llvm/MC/DXContainerRootSignature.h        |  1 -
 llvm/include/llvm/MC/MCAssembler.h            |  2 --
 llvm/include/llvm/MC/MCFixup.h                |  1 -
 .../llvm/MC/MCTargetOptionsCommandFlags.h     |  1 -
 llvm/include/llvm/MC/MachineLocation.h        |  1 -
 .../llvm/ProfileData/CtxInstrContextNode.h    |  1 -
 llvm/include/llvm/Support/CFGDiff.h           |  1 -
 llvm/include/llvm/Support/CodeGen.h           |  1 -
 llvm/include/llvm/Support/GenericDomTree.h    |  1 -
 .../llvm/Support/Windows/WindowsSupport.h     |  1 -
 llvm/include/llvm/Support/pch.h               | 26 -------------------
 .../IPO/MemProfContextDisambiguation.h        |  1 -
 .../Transforms/Instrumentation/AllocToken.h   |  1 -
 llvm/include/llvm/Transforms/Utils/Cloning.h  |  1 -
 .../llvm/Transforms/Utils/CodeExtractor.h     |  1 -
 .../llvm/Transforms/Utils/Instrumentation.h   |  2 --
 .../Transforms/Utils/LowerVectorIntrinsics.h  |  2 --
 llvm/include/llvm/XRay/Graph.h                |  1 -
 llvm/include/llvm/XRay/Trace.h                |  1 -
 llvm/lib/Analysis/AliasAnalysis.cpp           |  1 -
 .../Analysis/DevelopmentModeInlineAdvisor.cpp |  1 -
 llvm/lib/Analysis/TFLiteUtils.cpp             |  1 -
 llvm/lib/Analysis/TensorSpec.cpp              |  1 -
 llvm/lib/Bitcode/Reader/MetadataLoader.cpp    |  1 -
 .../GlobalISel/CombinerHelperCompares.cpp     |  1 -
 llvm/lib/CodeGen/MachinePipeliner.cpp         |  1 -
 llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp  |  1 -
 llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp   |  1 -
 .../DWARF/DWARFUnwindTablePrinter.cpp         |  1 -
 .../DWARF/LowLevel/DWARFCFIProgram.cpp        |  1 -
 .../DWARF/LowLevel/DWARFUnwindTable.cpp       |  1 -
 llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp     |  2 --
 llvm/lib/DebugInfo/GSYM/GsymReader.cpp        |  2 --
 llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp    |  1 -
 llvm/lib/Demangle/DLangDemangle.cpp           |  1 -
 llvm/lib/Demangle/RustDemangle.cpp            |  1 -
 .../IntelJITProfiling/ittnotify_config.h      |  3 +--
 .../Interpreter/ExternalFunctions.cpp         |  1 -
 .../Frontend/Offloading/OffloadWrapper.cpp    |  1 -
 llvm/lib/Frontend/OpenMP/OMP.cpp              |  1 -
 llvm/lib/IR/Function.cpp                      |  1 -
 llvm/lib/IR/LLVMContextImpl.h                 |  1 -
 llvm/lib/MC/MCFragment.cpp                    |  1 -
 llvm/lib/MC/MCStreamer.cpp                    |  1 -
 llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp           |  1 -
 llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h          |  2 --
 llvm/lib/ObjCopy/wasm/WasmWriter.h            |  1 -
 .../ProfileData/Coverage/CoverageMapping.cpp  |  1 -
 llvm/lib/Support/BLAKE3/blake3_impl.h         |  1 -
 llvm/lib/Support/SHA1.cpp                     |  1 -
 llvm/lib/Support/SHA256.cpp                   |  1 -
 llvm/lib/Support/Threading.cpp                |  1 -
 llvm/lib/Support/Unix/Unix.h                  |  3 ---
 llvm/lib/TableGen/TGLexer.cpp                 |  1 -
 .../AArch64/AsmParser/AArch64AsmParser.cpp    |  1 -
 .../AArch64/GISel/AArch64CallLowering.h       |  1 -
 .../MCTargetDesc/AArch64ELFObjectWriter.cpp   |  1 -
 .../AArch64WinCOFFObjectWriter.cpp            |  1 -
 .../AMDGPU/AMDGPULowerKernelArguments.cpp     |  1 -
 .../Target/AMDGPU/AMDGPUNextUseAnalysis.cpp   |  1 -
 .../lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h |  1 -
 .../AMDGPU/MCTargetDesc/R600MCTargetDesc.h    |  2 --
 llvm/lib/Target/ARM/ARMCallLowering.h         |  2 --
 llvm/lib/Target/ARM/ARMHazardRecognizer.h     |  1 -
 .../AVR/MCTargetDesc/AVRInstPrinter.cpp       |  2 --
 .../Target/CSKY/CSKYConstantIslandPass.cpp    |  1 -
 llvm/lib/Target/CSKY/CSKYConstantPoolValue.h  |  1 -
 llvm/lib/Target/DirectX/CBufferDataLayout.h   |  1 -
 .../lib/Target/Hexagon/HexagonLiveVariables.h |  1 -
 .../Target/Hexagon/HexagonVectorCombine.cpp   |  1 -
 .../Hexagon/MCTargetDesc/HexagonShuffler.h    |  1 -
 .../Target/M68k/AsmParser/M68kAsmParser.cpp   |  2 --
 llvm/lib/Target/M68k/M68kInstrBuilder.h       |  2 --
 llvm/lib/Target/Mips/Mips16InstrInfo.cpp      |  1 -
 .../NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h    |  2 --
 llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp  |  1 -
 llvm/lib/Target/NVPTX/NVPTXUtilities.h        |  1 -
 .../Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp  |  1 -
 llvm/lib/Target/PowerPC/PPCSubtarget.cpp      |  1 -
 llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp    |  3 ---
 .../MCTargetDesc/SystemZMCCodeEmitter.cpp     |  1 -
 .../AsmParser/WebAssemblyAsmTypeCheck.cpp     |  1 -
 llvm/lib/Target/X86/GISel/X86CallLowering.h   |  1 -
 .../MCTargetDesc/XtensaELFObjectWriter.cpp    |  1 -
 .../Target/Xtensa/XtensaConstantPoolValue.cpp |  1 -
 .../Target/Xtensa/XtensaConstantPoolValue.h   |  1 -
 llvm/lib/TargetParser/TargetDataLayout.cpp    |  1 -
 .../Coroutines/CoroAnnotationElide.cpp        |  2 --
 llvm/lib/Transforms/Coroutines/CoroSplit.cpp  |  1 -
 .../Transforms/IPO/FunctionSpecialization.cpp |  1 -
 .../InstCombine/InstCombineCasts.cpp          |  1 -
 .../InstCombine/InstCombineNegator.cpp        |  1 -
 .../Transforms/Instrumentation/AllocToken.cpp |  2 --
 .../Transforms/Utils/BypassSlowDivision.cpp   |  1 -
 llvm/lib/Transforms/Utils/CloneFunction.cpp   |  1 -
 .../Transforms/Utils/MemoryTaggingSupport.cpp |  1 -
 .../Vectorize/LoadStoreVectorizer.cpp         |  1 -
 131 files changed, 1 insertion(+), 181 deletions(-)

diff --git a/llvm/include/llvm-c/DataTypes.h b/llvm/include/llvm-c/DataTypes.h
index 4eb0ac97d97e5..867ebef48e1d6 100644
--- a/llvm/include/llvm-c/DataTypes.h
+++ b/llvm/include/llvm-c/DataTypes.h
@@ -25,7 +25,6 @@
 #define LLVM_C_DATATYPES_H
 
 #include <inttypes.h>
-#include <stdint.h>
 
 #ifndef _MSC_VER
 
@@ -50,10 +49,8 @@
 
 #else /* _MSC_VER */
 #ifdef __cplusplus
-#include <cstddef>
 #include <cstdlib>
 #else
-#include <stddef.h>
 #include <stdlib.h>
 #endif
 #include <sys/types.h>
diff --git a/llvm/include/llvm/ADT/BitVector.h b/llvm/include/llvm/ADT/BitVector.h
index f4645c18a93f0..a8b34631a6e00 100644
--- a/llvm/include/llvm/ADT/BitVector.h
+++ b/llvm/include/llvm/ADT/BitVector.h
@@ -22,7 +22,6 @@
 #include <cassert>
 #include <climits>
 #include <cstdint>
-#include <cstdlib>
 #include <cstring>
 #include <iterator>
 #include <utility>
diff --git a/llvm/include/llvm/ADT/CombinationGenerator.h b/llvm/include/llvm/ADT/CombinationGenerator.h
index bbdbd9bfa1be3..1e61bcee751b1 100644
--- a/llvm/include/llvm/ADT/CombinationGenerator.h
+++ b/llvm/include/llvm/ADT/CombinationGenerator.h
@@ -31,7 +31,6 @@
 #include "llvm/ADT/STLFunctionalExtras.h"
 #include "llvm/ADT/SmallVector.h"
 #include <cassert>
-#include <cstring>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/ADT/DenseMapInfo.h b/llvm/include/llvm/ADT/DenseMapInfo.h
index f24aeb4371e7f..ed1a58e55686a 100644
--- a/llvm/include/llvm/ADT/DenseMapInfo.h
+++ b/llvm/include/llvm/ADT/DenseMapInfo.h
@@ -14,7 +14,6 @@
 #ifndef LLVM_ADT_DENSEMAPINFO_H
 #define LLVM_ADT_DENSEMAPINFO_H
 
-#include <cassert>
 #include <cstddef>
 #include <cstdint>
 #include <limits>
diff --git a/llvm/include/llvm/ADT/STLExtras.h b/llvm/include/llvm/ADT/STLExtras.h
index 80c97e77724e9..655aa77b38eb9 100644
--- a/llvm/include/llvm/ADT/STLExtras.h
+++ b/llvm/include/llvm/ADT/STLExtras.h
@@ -28,7 +28,6 @@
 #include <algorithm>
 #include <cassert>
 #include <cstddef>
-#include <cstdint>
 #include <cstdlib>
 #include <functional>
 #include <initializer_list>
diff --git a/llvm/include/llvm/ADT/SmallBitVector.h b/llvm/include/llvm/ADT/SmallBitVector.h
index 978dc3f073031..8254db1a2075c 100644
--- a/llvm/include/llvm/ADT/SmallBitVector.h
+++ b/llvm/include/llvm/ADT/SmallBitVector.h
@@ -20,7 +20,6 @@
 #include <algorithm>
 #include <cassert>
 #include <climits>
-#include <cstddef>
 #include <cstdint>
 #include <limits>
 #include <utility>
diff --git a/llvm/include/llvm/ADT/SmallPtrSet.h b/llvm/include/llvm/ADT/SmallPtrSet.h
index 8e7c8b30293b2..274815edcdc55 100644
--- a/llvm/include/llvm/ADT/SmallPtrSet.h
+++ b/llvm/include/llvm/ADT/SmallPtrSet.h
@@ -30,7 +30,6 @@
 #include <cstring>
 #include <initializer_list>
 #include <iterator>
-#include <limits>
 #include <utility>
 
 namespace llvm {
diff --git a/llvm/include/llvm/ADT/StringSwitch.h b/llvm/include/llvm/ADT/StringSwitch.h
index 1ebfca254cebb..355d7d582146e 100644
--- a/llvm/include/llvm/ADT/StringSwitch.h
+++ b/llvm/include/llvm/ADT/StringSwitch.h
@@ -15,8 +15,6 @@
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cassert>
-#include <cstring>
 #include <initializer_list>
 #include <optional>
 
diff --git a/llvm/include/llvm/ADT/bit.h b/llvm/include/llvm/ADT/bit.h
index 3ac23d6d48cc4..6b23194d2c0c9 100644
--- a/llvm/include/llvm/ADT/bit.h
+++ b/llvm/include/llvm/ADT/bit.h
@@ -25,7 +25,6 @@
 #endif
 
 #if defined(_MSC_VER) && !defined(_DEBUG)
-#include <cstdlib>  // for _byteswap_{ushort,ulong,uint64}
 #endif
 
 #if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) ||            \
diff --git a/llvm/include/llvm/ADT/ilist.h b/llvm/include/llvm/ADT/ilist.h
index 64392903bec74..af1b969930ba3 100644
--- a/llvm/include/llvm/ADT/ilist.h
+++ b/llvm/include/llvm/ADT/ilist.h
@@ -26,7 +26,6 @@
 
 #include "llvm/ADT/simple_ilist.h"
 #include <cassert>
-#include <cstddef>
 #include <iterator>
 
 namespace llvm {
diff --git a/llvm/include/llvm/Analysis/BranchProbabilityInfo.h b/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
index 7a8b8a3aa658a..bf1e29eaec1fd 100644
--- a/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
+++ b/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
@@ -19,10 +19,6 @@
 #include "llvm/Pass.h"
 #include "llvm/Support/BranchProbability.h"
 #include "llvm/Support/Compiler.h"
-#include <cassert>
-#include <cstdint>
-#include <memory>
-#include <utility>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/Analysis/DominanceFrontier.h b/llvm/include/llvm/Analysis/DominanceFrontier.h
index b76e6efd812fd..04866187bce4a 100644
--- a/llvm/include/llvm/Analysis/DominanceFrontier.h
+++ b/llvm/include/llvm/Analysis/DominanceFrontier.h
@@ -27,7 +27,6 @@
 #include "llvm/IR/PassManager.h"
 #include "llvm/Pass.h"
 #include "llvm/Support/GenericDomTree.h"
-#include <cassert>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/Analysis/InlineOrder.h b/llvm/include/llvm/Analysis/InlineOrder.h
index 459afcde47150..918eac34f541f 100644
--- a/llvm/include/llvm/Analysis/InlineOrder.h
+++ b/llvm/include/llvm/Analysis/InlineOrder.h
@@ -11,7 +11,6 @@
 
 #include "llvm/Analysis/InlineCost.h"
 #include "llvm/Support/Compiler.h"
-#include <utility>
 
 namespace llvm {
 class CallBase;
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
index 3a2509345b776..43771cd5a20e1 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
@@ -30,7 +30,6 @@
 #include <cstddef>
 #include <cstdint>
 #include <functional>
-#include <initializer_list>
 #include <optional>
 #include <vector>
 
diff --git a/llvm/include/llvm/CodeGen/MachineDominators.h b/llvm/include/llvm/CodeGen/MachineDominators.h
index faea0b7de525f..4f2e4a84a2768 100644
--- a/llvm/include/llvm/CodeGen/MachineDominators.h
+++ b/llvm/include/llvm/CodeGen/MachineDominators.h
@@ -23,7 +23,6 @@
 #include "llvm/CodeGen/MachinePassManager.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/GenericDomTree.h"
-#include <cassert>
 #include <optional>
 
 namespace llvm {
diff --git a/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h b/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
index 1dd2371bd4582..be4e9dc9dcdea 100644
--- a/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
+++ b/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
@@ -21,7 +21,6 @@
 
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Printable.h"
-#include <cassert>
 #include <vector>
 
 namespace llvm {
diff --git a/llvm/include/llvm/CodeGen/Rematerializer.h b/llvm/include/llvm/CodeGen/Rematerializer.h
index 96c00c59f3186..7e6c50dd5b4bf 100644
--- a/llvm/include/llvm/CodeGen/Rematerializer.h
+++ b/llvm/include/llvm/CodeGen/Rematerializer.h
@@ -22,7 +22,6 @@
 #include "llvm/CodeGen/TargetInstrInfo.h"
 #include "llvm/CodeGen/TargetOpcodes.h"
 #include "llvm/CodeGen/TargetRegisterInfo.h"
-#include <iterator>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/CodeGen/TargetCallingConv.h b/llvm/include/llvm/CodeGen/TargetCallingConv.h
index f197c7f1645ec..41c57b2b0794f 100644
--- a/llvm/include/llvm/CodeGen/TargetCallingConv.h
+++ b/llvm/include/llvm/CodeGen/TargetCallingConv.h
@@ -19,7 +19,6 @@
 #include "llvm/Support/MathExtras.h"
 #include <cassert>
 #include <climits>
-#include <cstdint>
 
 namespace llvm {
 namespace ISD {
diff --git a/llvm/include/llvm/DWARFLinker/StringPool.h b/llvm/include/llvm/DWARFLinker/StringPool.h
index 7838e3b8d6f20..ff02bc53e4aec 100644
--- a/llvm/include/llvm/DWARFLinker/StringPool.h
+++ b/llvm/include/llvm/DWARFLinker/StringPool.h
@@ -13,7 +13,6 @@
 #include "llvm/CodeGen/DwarfStringPoolEntry.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/PerThreadBumpPtrAllocator.h"
-#include <string_view>
 
 namespace llvm {
 namespace dwarf_linker {
diff --git a/llvm/include/llvm/DebugInfo/GSYM/FileEntry.h b/llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
index 1e49ac05555cf..3c54f148f0f01 100644
--- a/llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
+++ b/llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
@@ -12,7 +12,6 @@
 #include "llvm/ADT/DenseMapInfo.h"
 #include "llvm/ADT/Hashing.h"
 #include "llvm/DebugInfo/GSYM/GsymTypes.h"
-#include <functional>
 #include <stdint.h>
 
 namespace llvm {
diff --git a/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h b/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
index 93525b7167915..4f23d24cea406 100644
--- a/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
+++ b/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
@@ -10,7 +10,6 @@
 #define LLVM_DEBUGINFO_PDB_IPDBENUMCHILDREN_H
 
 #include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
-#include <cassert>
 #include <cstdint>
 #include <memory>
 
diff --git a/llvm/include/llvm/Demangle/ItaniumDemangle.h b/llvm/include/llvm/Demangle/ItaniumDemangle.h
index 67de123fdbad5..730ede29c3c67 100644
--- a/llvm/include/llvm/Demangle/ItaniumDemangle.h
+++ b/llvm/include/llvm/Demangle/ItaniumDemangle.h
@@ -24,7 +24,6 @@
 #include <cstdint>
 #include <cstdio>
 #include <cstdlib>
-#include <cstring>
 #include <limits>
 #include <new>
 #include <string_view>
diff --git a/llvm/include/llvm/ExecutionEngine/JITSymbol.h b/llvm/include/llvm/ExecutionEngine/JITSymbol.h
index 0c4801e5196ee..ba8ca0fca8a2c 100644
--- a/llvm/include/llvm/ExecutionEngine/JITSymbol.h
+++ b/llvm/include/llvm/ExecutionEngine/JITSymbol.h
@@ -18,7 +18,6 @@
 #include <cassert>
 #include <cstddef>
 #include <cstdint>
-#include <functional>
 #include <map>
 #include <set>
 #include <string>
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
index 01e9cf914cb54..ee3efeba750d6 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
@@ -41,7 +41,6 @@
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
 #include <algorithm>
-#include <cassert>
 #include <functional>
 #include <memory>
 #include <utility>
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
index e42c902568a07..49f2d5a6dfdd8 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
@@ -24,7 +24,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/DynamicLibrary.h"
 #include <algorithm>
-#include <cstdint>
 #include <utility>
 #include <vector>
 
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
index a0499f79704eb..cde7256a862a1 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
@@ -24,7 +24,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Error.h"
 #include <algorithm>
-#include <cassert>
 #include <functional>
 #include <memory>
 #include <utility>
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
index 0a5f2d9386209..9d028f2b5851b 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
@@ -15,7 +15,6 @@
 
 #include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"
 #include "llvm/Support/Compiler.h"
-#include <cstdint>
 
 extern "C" LLVM_ABI llvm::orc::shared::CWrapperFunctionBuffer
 llvm_orc_registerJITLoaderPerfImpl(const char *ArgData, size_t ArgSize);
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
index 5ada9ede4897d..8d85c52fd22fd 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
@@ -15,7 +15,6 @@
 
 #include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"
 #include "llvm/Support/Compiler.h"
-#include <cstdint>
 
 extern "C" LLVM_ABI llvm::orc::shared::CWrapperFunctionBuffer
 llvm_orc_registerVTuneImpl(const char *ArgData, size_t ArgSize);
diff --git a/llvm/include/llvm/IR/GetElementPtrTypeIterator.h b/llvm/include/llvm/IR/GetElementPtrTypeIterator.h
index 1092b636e023a..bae1cd101b912 100644
--- a/llvm/include/llvm/IR/GetElementPtrTypeIterator.h
+++ b/llvm/include/llvm/IR/GetElementPtrTypeIterator.h
@@ -22,7 +22,6 @@
 #include "llvm/IR/User.h"
 #include "llvm/Support/Casting.h"
 #include <cstddef>
-#include <cstdint>
 #include <iterator>
 
 namespace llvm {
diff --git a/llvm/include/llvm/IR/LegacyPassNameParser.h b/llvm/include/llvm/IR/LegacyPassNameParser.h
index 3460de0d90223..ab26534a07741 100644
--- a/llvm/include/llvm/IR/LegacyPassNameParser.h
+++ b/llvm/include/llvm/IR/LegacyPassNameParser.h
@@ -31,7 +31,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cstring>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/IR/PassManager.h b/llvm/include/llvm/IR/PassManager.h
index 4d4c4bcfe943d..d137940c42d0d 100644
--- a/llvm/include/llvm/IR/PassManager.h
+++ b/llvm/include/llvm/IR/PassManager.h
@@ -47,7 +47,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/TypeName.h"
 #include <cassert>
-#include <cstring>
 #include <list>
 #include <memory>
 #include <tuple>
diff --git a/llvm/include/llvm/IR/ProfDataUtils.h b/llvm/include/llvm/IR/ProfDataUtils.h
index 9d297c1b91a1d..3d85948e85099 100644
--- a/llvm/include/llvm/IR/ProfDataUtils.h
+++ b/llvm/include/llvm/IR/ProfDataUtils.h
@@ -20,7 +20,6 @@
 #include "llvm/IR/Metadata.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compiler.h"
-#include <cstddef>
 #include <type_traits>
 
 namespace llvm {
diff --git a/llvm/include/llvm/IR/StructuralHash.h b/llvm/include/llvm/IR/StructuralHash.h
index fc4b97ee2d41e..92b377c081521 100644
--- a/llvm/include/llvm/IR/StructuralHash.h
+++ b/llvm/include/llvm/IR/StructuralHash.h
@@ -18,7 +18,6 @@
 #include "llvm/ADT/StableHashing.h"
 #include "llvm/IR/Instruction.h"
 #include "llvm/Support/Compiler.h"
-#include <cstdint>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
index a01a67f136710..7dbb30f0be338 100644
--- a/llvm/include/llvm/LinkAllPasses.h
+++ b/llvm/include/llvm/LinkAllPasses.h
@@ -47,7 +47,6 @@
 #include "llvm/Transforms/Utils.h"
 #include "llvm/Transforms/Utils/SymbolRewriter.h"
 #include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
-#include <cstdlib>
 
 namespace llvm {
 class Triple;
diff --git a/llvm/include/llvm/MC/DXContainerRootSignature.h b/llvm/include/llvm/MC/DXContainerRootSignature.h
index 2b08b2439d2c0..9b5d7ddf0954d 100644
--- a/llvm/include/llvm/MC/DXContainerRootSignature.h
+++ b/llvm/include/llvm/MC/DXContainerRootSignature.h
@@ -12,7 +12,6 @@
 #include "llvm/BinaryFormat/DXContainer.h"
 #include "llvm/Support/Compiler.h"
 #include <cstdint>
-#include <limits>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/MC/MCAssembler.h b/llvm/include/llvm/MC/MCAssembler.h
index 22f8ebde88756..6b38b03e88a6b 100644
--- a/llvm/include/llvm/MC/MCAssembler.h
+++ b/llvm/include/llvm/MC/MCAssembler.h
@@ -19,8 +19,6 @@
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/SMLoc.h"
-#include <cassert>
-#include <cstddef>
 #include <cstdint>
 #include <memory>
 #include <string>
diff --git a/llvm/include/llvm/MC/MCFixup.h b/llvm/include/llvm/MC/MCFixup.h
index aaf75102fb9ed..f0a93d9d61bb8 100644
--- a/llvm/include/llvm/MC/MCFixup.h
+++ b/llvm/include/llvm/MC/MCFixup.h
@@ -13,7 +13,6 @@
 #include "llvm/Support/DataTypes.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/SMLoc.h"
-#include <cassert>
 
 namespace llvm {
 class MCExpr;
diff --git a/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h b/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
index ae80887900349..4f69b26f3dec9 100644
--- a/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
+++ b/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
@@ -16,7 +16,6 @@
 
 #include "llvm/Support/Compiler.h"
 #include <optional>
-#include <string>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/MC/MachineLocation.h b/llvm/include/llvm/MC/MachineLocation.h
index 5872540e6104d..9047967df1388 100644
--- a/llvm/include/llvm/MC/MachineLocation.h
+++ b/llvm/include/llvm/MC/MachineLocation.h
@@ -15,7 +15,6 @@
 #define LLVM_MC_MACHINELOCATION_H
 
 #include <cstdint>
-#include <cassert>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/ProfileData/CtxInstrContextNode.h b/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
index e4e310b2e987d..7cb35d5dd5fe6 100644
--- a/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
+++ b/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
@@ -59,7 +59,6 @@
 #define LLVM_PROFILEDATA_CTXINSTRCONTEXTNODE_H
 
 #include <stdint.h>
-#include <stdlib.h>
 
 namespace llvm {
 namespace ctx_profile {
diff --git a/llvm/include/llvm/Support/CFGDiff.h b/llvm/include/llvm/Support/CFGDiff.h
index 88f4fe52d2019..bbd6a3b631c79 100644
--- a/llvm/include/llvm/Support/CFGDiff.h
+++ b/llvm/include/llvm/Support/CFGDiff.h
@@ -20,7 +20,6 @@
 #include "llvm/Support/CFGUpdate.h"
 #include "llvm/Support/type_traits.h"
 #include <cassert>
-#include <cstddef>
 
 // Two booleans are used to define orders in graphs:
 // InverseGraph defines when we need to reverse the whole graph and is as such
diff --git a/llvm/include/llvm/Support/CodeGen.h b/llvm/include/llvm/Support/CodeGen.h
index 52f00c3258c0f..9bd96f6be3720 100644
--- a/llvm/include/llvm/Support/CodeGen.h
+++ b/llvm/include/llvm/Support/CodeGen.h
@@ -14,7 +14,6 @@
 #ifndef LLVM_SUPPORT_CODEGEN_H
 #define LLVM_SUPPORT_CODEGEN_H
 
-#include <cstdint>
 #include <optional>
 
 namespace llvm {
diff --git a/llvm/include/llvm/Support/GenericDomTree.h b/llvm/include/llvm/Support/GenericDomTree.h
index 920983e7bd800..96b961318a457 100644
--- a/llvm/include/llvm/Support/GenericDomTree.h
+++ b/llvm/include/llvm/Support/GenericDomTree.h
@@ -36,7 +36,6 @@
 #include <algorithm>
 #include <cassert>
 #include <cstddef>
-#include <memory>
 #include <new>
 #include <type_traits>
 #include <utility>
diff --git a/llvm/include/llvm/Support/Windows/WindowsSupport.h b/llvm/include/llvm/Support/Windows/WindowsSupport.h
index 50a2540dba687..8e0fe81f04d62 100644
--- a/llvm/include/llvm/Support/Windows/WindowsSupport.h
+++ b/llvm/include/llvm/Support/Windows/WindowsSupport.h
@@ -41,7 +41,6 @@
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/VersionTuple.h"
-#include <cassert>
 #include <string>
 #include <system_error>
 #include <windows.h>
diff --git a/llvm/include/llvm/Support/pch.h b/llvm/include/llvm/Support/pch.h
index ccfeceb231f61..f7e1eb82026fd 100644
--- a/llvm/include/llvm/Support/pch.h
+++ b/llvm/include/llvm/Support/pch.h
@@ -36,40 +36,14 @@
 #include "llvm/Support/VersionTuple.h"
 #include "llvm/Support/YAMLTraits.h"
 #include "llvm/Support/raw_ostream.h"
-#include <algorithm>
-#include <array>
 #include <atomic>
 #include <bitset>
-#include <cassert>
 #include <chrono>
 #include <climits>
-#include <cmath>
-#include <cstddef>
-#include <cstdint>
-#include <cstdlib>
-#include <cstring>
 #include <ctime>
 #include <deque>
-#include <functional>
-#include <initializer_list>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <map>
-#include <memory>
 #include <mutex>
 #include <new>
-#include <optional>
 #include <queue>
-#include <set>
-#include <sstream>
-#include <string>
-#include <string_view>
 #include <system_error>
-#include <tuple>
-#include <type_traits>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
 #include <variant>
-#include <vector>
diff --git a/llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h b/llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
index bab7c8cca53ed..454a372423b58 100644
--- a/llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
+++ b/llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
@@ -20,7 +20,6 @@
 #include "llvm/IR/ModuleSummaryIndex.h"
 #include "llvm/IR/PassManager.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
-#include <functional>
 
 namespace llvm {
 class GlobalValueSummary;
diff --git a/llvm/include/llvm/Transforms/Instrumentation/AllocToken.h b/llvm/include/llvm/Transforms/Instrumentation/AllocToken.h
index 299fc03c5d96b..258a577f5d52c 100644
--- a/llvm/include/llvm/Transforms/Instrumentation/AllocToken.h
+++ b/llvm/include/llvm/Transforms/Instrumentation/AllocToken.h
@@ -17,7 +17,6 @@
 #include "llvm/IR/Analysis.h"
 #include "llvm/IR/PassManager.h"
 #include "llvm/Support/AllocToken.h"
-#include <optional>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/Transforms/Utils/Cloning.h b/llvm/include/llvm/Transforms/Utils/Cloning.h
index 6b9aced467704..8b03e7284b87d 100644
--- a/llvm/include/llvm/Transforms/Utils/Cloning.h
+++ b/llvm/include/llvm/Transforms/Utils/Cloning.h
@@ -28,7 +28,6 @@
 #include "llvm/IR/ValueHandle.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
-#include <functional>
 #include <memory>
 #include <vector>
 
diff --git a/llvm/include/llvm/Transforms/Utils/CodeExtractor.h b/llvm/include/llvm/Transforms/Utils/CodeExtractor.h
index e117a33d3435f..ae28311736b32 100644
--- a/llvm/include/llvm/Transforms/Utils/CodeExtractor.h
+++ b/llvm/include/llvm/Transforms/Utils/CodeExtractor.h
@@ -18,7 +18,6 @@
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SetVector.h"
 #include "llvm/Support/Compiler.h"
-#include <limits>
 
 namespace llvm {
 
diff --git a/llvm/include/llvm/Transforms/Utils/Instrumentation.h b/llvm/include/llvm/Transforms/Utils/Instrumentation.h
index 95a985ba3f0c4..763aa94235ceb 100644
--- a/llvm/include/llvm/Transforms/Utils/Instrumentation.h
+++ b/llvm/include/llvm/Transforms/Utils/Instrumentation.h
@@ -20,9 +20,7 @@
 #include "llvm/IR/IRBuilder.h"
 #include "llvm/IR/Instruction.h"
 #include "llvm/Support/Compiler.h"
-#include <cassert>
 #include <cstdint>
-#include <limits>
 #include <string>
 
 namespace llvm {
diff --git a/llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h b/llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
index 19b573d6546a0..eff6ea771db9f 100644
--- a/llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
+++ b/llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
@@ -13,8 +13,6 @@
 #ifndef LLVM_TRANSFORMS_UTILS_LOWERVECTORINTRINSICS_H
 #define LLVM_TRANSFORMS_UTILS_LOWERVECTORINTRINSICS_H
 
-#include <cstdint>
-
 namespace llvm {
 
 class CallInst;
diff --git a/llvm/include/llvm/XRay/Graph.h b/llvm/include/llvm/XRay/Graph.h
index 8521e09c33208..1437aecd5d7d0 100644
--- a/llvm/include/llvm/XRay/Graph.h
+++ b/llvm/include/llvm/XRay/Graph.h
@@ -13,7 +13,6 @@
 #ifndef LLVM_XRAY_GRAPH_H
 #define LLVM_XRAY_GRAPH_H
 
-#include <initializer_list>
 #include <stdint.h>
 #include <type_traits>
 #include <utility>
diff --git a/llvm/include/llvm/XRay/Trace.h b/llvm/include/llvm/XRay/Trace.h
index 13ada22150d91..0c3b66e5c29b6 100644
--- a/llvm/include/llvm/XRay/Trace.h
+++ b/llvm/include/llvm/XRay/Trace.h
@@ -12,7 +12,6 @@
 #ifndef LLVM_XRAY_TRACE_H
 #define LLVM_XRAY_TRACE_H
 
-#include <cstdint>
 #include <vector>
 
 #include "llvm/ADT/StringRef.h"
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 102f0c070d517..f6f54729a28a2 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -47,7 +47,6 @@
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/CommandLine.h"
 #include <cassert>
-#include <functional>
 #include <iterator>
 
 #define DEBUG_TYPE "aa"
diff --git a/llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp b/llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
index d2be805a6f7a5..a4af30680700d 100644
--- a/llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
+++ b/llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
@@ -26,7 +26,6 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ManagedStatic.h"
 
-#include <optional>
 #include <vector>
 
 using namespace llvm;
diff --git a/llvm/lib/Analysis/TFLiteUtils.cpp b/llvm/lib/Analysis/TFLiteUtils.cpp
index fcef1c8aa7380..b20d403e19725 100644
--- a/llvm/lib/Analysis/TFLiteUtils.cpp
+++ b/llvm/lib/Analysis/TFLiteUtils.cpp
@@ -29,7 +29,6 @@
 #include "tensorflow/lite/op_resolver.h"
 #include "tensorflow/lite/logger.h"
 
-#include <cassert>
 #include <optional>
 
 using namespace llvm;
diff --git a/llvm/lib/Analysis/TensorSpec.cpp b/llvm/lib/Analysis/TensorSpec.cpp
index 8dd1a054af883..bcb5ad2d76736 100644
--- a/llvm/lib/Analysis/TensorSpec.cpp
+++ b/llvm/lib/Analysis/TensorSpec.cpp
@@ -22,7 +22,6 @@
 #include "llvm/Support/ManagedStatic.h"
 #include "llvm/Support/raw_ostream.h"
 #include <array>
-#include <cassert>
 #include <numeric>
 
 using namespace llvm;
diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 4bc55232a6df6..ad091d42c7e1a 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -53,7 +53,6 @@
 #include <deque>
 #include <iterator>
 #include <limits>
-#include <map>
 #include <optional>
 #include <string>
 #include <tuple>
diff --git a/llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp b/llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
index fc40533cf3dc9..1baeebd43940a 100644
--- a/llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
@@ -20,7 +20,6 @@
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/IR/Instructions.h"
 #include "llvm/Support/Casting.h"
-#include <cstdlib>
 
 #define DEBUG_TYPE "gi-combiner"
 
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp
index bfd4fa0c589af..2816d5a0fccc6 100644
--- a/llvm/lib/CodeGen/MachinePipeliner.cpp
+++ b/llvm/lib/CodeGen/MachinePipeliner.cpp
@@ -89,7 +89,6 @@
 #include <functional>
 #include <iomanip>
 #include <iterator>
-#include <map>
 #include <memory>
 #include <sstream>
 #include <tuple>
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
index 85167bf5c1ebd..92b4c30d2b0df 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
@@ -27,7 +27,6 @@
 #include "llvm/Support/FormatAdapters.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cassert>
 #include <cinttypes>
 #include <cstdint>
 #include <optional>
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
index e509421dd1f01..93c90356139ea 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
@@ -24,7 +24,6 @@
 #include <cassert>
 #include <cinttypes>
 #include <cstdint>
-#include <cstdio>
 #include <utility>
 
 using namespace llvm;
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp b/llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
index 90ed1b5c70725..f22a791a9982a 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
@@ -14,7 +14,6 @@
 #include "llvm/Support/Format.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cassert>
 #include <cinttypes>
 #include <cstdint>
 
diff --git a/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp b/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
index eaf56b3071592..65eb162fcdd00 100644
--- a/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
+++ b/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
@@ -11,7 +11,6 @@
 #include "llvm/Support/Errc.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cassert>
 #include <cinttypes>
 #include <cstdint>
 
diff --git a/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.cpp b/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.cpp
index 20f52673eefe1..e4300bfbc0993 100644
--- a/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.cpp
+++ b/llvm/lib/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.cpp
@@ -10,7 +10,6 @@
 #include "llvm/Support/Errc.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cassert>
 #include <cinttypes>
 #include <cstdint>
 #include <optional>
diff --git a/llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp b/llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
index 5876c7b4af1ba..42d8984f528d3 100644
--- a/llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
+++ b/llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
@@ -9,8 +9,6 @@
 #include "llvm/DebugInfo/GSYM/FileWriter.h"
 #include "llvm/DebugInfo/GSYM/Header.h"
 
-#include <cassert>
-
 using namespace llvm;
 using namespace gsym;
 
diff --git a/llvm/lib/DebugInfo/GSYM/GsymReader.cpp b/llvm/lib/DebugInfo/GSYM/GsymReader.cpp
index b68588fb24f75..668d774f52eed 100644
--- a/llvm/lib/DebugInfo/GSYM/GsymReader.cpp
+++ b/llvm/lib/DebugInfo/GSYM/GsymReader.cpp
@@ -10,8 +10,6 @@
 
 #include <assert.h>
 #include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
 
 #include "llvm/DebugInfo/GSYM/GsymReaderV1.h"
 #include "llvm/DebugInfo/GSYM/GsymReaderV2.h"
diff --git a/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp b/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
index 957c0c4c8f9a9..cd7885501c135 100644
--- a/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
+++ b/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
@@ -19,7 +19,6 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/raw_ostream.h"
 #include <algorithm>
-#include <cmath>
 #include <cstddef>
 #include <cstdint>
 #include <memory>
diff --git a/llvm/lib/Demangle/DLangDemangle.cpp b/llvm/lib/Demangle/DLangDemangle.cpp
index 8856302be6dd1..af2f2c85d6afa 100644
--- a/llvm/lib/Demangle/DLangDemangle.cpp
+++ b/llvm/lib/Demangle/DLangDemangle.cpp
@@ -18,7 +18,6 @@
 #include "llvm/Demangle/Utility.h"
 
 #include <cctype>
-#include <cstring>
 #include <limits>
 #include <string_view>
 
diff --git a/llvm/lib/Demangle/RustDemangle.cpp b/llvm/lib/Demangle/RustDemangle.cpp
index 05e052f82dbc6..6fb088eb61d44 100644
--- a/llvm/lib/Demangle/RustDemangle.cpp
+++ b/llvm/lib/Demangle/RustDemangle.cpp
@@ -18,7 +18,6 @@
 #include <algorithm>
 #include <cassert>
 #include <cstdint>
-#include <cstring>
 #include <limits>
 #include <string_view>
 
diff --git a/llvm/lib/ExecutionEngine/IntelJITProfiling/ittnotify_config.h b/llvm/lib/ExecutionEngine/IntelJITProfiling/ittnotify_config.h
index 16ce672150cc2..badae75ed6fb7 100644
--- a/llvm/lib/ExecutionEngine/IntelJITProfiling/ittnotify_config.h
+++ b/llvm/lib/ExecutionEngine/IntelJITProfiling/ittnotify_config.h
@@ -64,8 +64,7 @@
 #include <stddef.h>
 #if ITT_PLATFORM==ITT_PLATFORM_WIN
 #include <tchar.h>
-#else  /* ITT_PLATFORM==ITT_PLATFORM_WIN */
-#include <stdint.h>
+#else /* ITT_PLATFORM==ITT_PLATFORM_WIN */
 #if defined(UNICODE) || defined(_UNICODE)
 #include <wchar.h>
 #endif /* UNICODE || _UNICODE */
diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 9fe74898170a5..0a66614b7b380 100644
--- a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -33,7 +33,6 @@
 #include "llvm/Support/Mutex.h"
 #include "llvm/Support/raw_ostream.h"
 #include <cassert>
-#include <cmath>
 #include <csignal>
 #include <cstdint>
 #include <cstdio>
diff --git a/llvm/lib/Frontend/Offloading/OffloadWrapper.cpp b/llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
index 83fc4c6e03178..5e4473a389536 100644
--- a/llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
+++ b/llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
@@ -28,7 +28,6 @@
 #include "llvm/TargetParser/Triple.h"
 #include "llvm/Transforms/Utils/ModuleUtils.h"
 
-#include <memory>
 #include <utility>
 
 using namespace llvm;
diff --git a/llvm/lib/Frontend/OpenMP/OMP.cpp b/llvm/lib/Frontend/OpenMP/OMP.cpp
index 871b6211fc2a5..0783fe069e0b1 100644
--- a/llvm/lib/Frontend/OpenMP/OMP.cpp
+++ b/llvm/lib/Frontend/OpenMP/OMP.cpp
@@ -18,7 +18,6 @@
 #include "llvm/Support/ErrorHandling.h"
 
 #include <algorithm>
-#include <cstdio>
 #include <iterator>
 #include <string>
 #include <type_traits>
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index a6568bb50f0c8..f51362937648c 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -52,7 +52,6 @@
 #include <cassert>
 #include <cstddef>
 #include <cstdint>
-#include <cstring>
 #include <string>
 
 using namespace llvm;
diff --git a/llvm/lib/IR/LLVMContextImpl.h b/llvm/lib/IR/LLVMContextImpl.h
index 11245b4ea7803..110b19716d4ea 100644
--- a/llvm/lib/IR/LLVMContextImpl.h
+++ b/llvm/lib/IR/LLVMContextImpl.h
@@ -42,7 +42,6 @@
 #include "llvm/Support/StringSaver.h"
 #include <algorithm>
 #include <cassert>
-#include <cstddef>
 #include <cstdint>
 #include <memory>
 #include <optional>
diff --git a/llvm/lib/MC/MCFragment.cpp b/llvm/lib/MC/MCFragment.cpp
index 21a304da0bb4f..17bbf59b72501 100644
--- a/llvm/lib/MC/MCFragment.cpp
+++ b/llvm/lib/MC/MCFragment.cpp
@@ -18,7 +18,6 @@
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cassert>
 #include <type_traits>
 #include <utility>
 
diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp
index b52e3e5b90bf2..4d5c1f9a75d9f 100644
--- a/llvm/lib/MC/MCStreamer.cpp
+++ b/llvm/lib/MC/MCStreamer.cpp
@@ -37,7 +37,6 @@
 #include "llvm/Support/raw_ostream.h"
 #include <cassert>
 #include <cstdint>
-#include <cstdlib>
 #include <optional>
 #include <utility>
 
diff --git a/llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp b/llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
index edb6ae0a5b108..64e571c7ba803 100644
--- a/llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
+++ b/llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
@@ -30,7 +30,6 @@
 #include "llvm/Support/Memory.h"
 #include "llvm/Support/raw_ostream.h"
 #include <algorithm>
-#include <cassert>
 #include <cstdlib>
 #include <functional>
 #include <memory>
diff --git a/llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h b/llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
index 47639ad82fa75..6ffdecb9f5493 100644
--- a/llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
+++ b/llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
@@ -12,8 +12,6 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "XCOFFObject.h"
 
-#include <cstdint>
-
 namespace llvm {
 namespace objcopy {
 namespace xcoff {
diff --git a/llvm/lib/ObjCopy/wasm/WasmWriter.h b/llvm/lib/ObjCopy/wasm/WasmWriter.h
index 14bbcf88875ec..7482d764353bc 100644
--- a/llvm/lib/ObjCopy/wasm/WasmWriter.h
+++ b/llvm/lib/ObjCopy/wasm/WasmWriter.h
@@ -10,7 +10,6 @@
 #define LLVM_LIB_OBJCOPY_WASM_WASMWRITER_H
 
 #include "WasmObject.h"
-#include <cstdint>
 #include <vector>
 
 namespace llvm {
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
index 0d9a5a6758f06..c9a1471ed38e4 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -31,7 +31,6 @@
 #include "llvm/Support/raw_ostream.h"
 #include <algorithm>
 #include <cassert>
-#include <cmath>
 #include <cstdint>
 #include <iterator>
 #include <map>
diff --git a/llvm/lib/Support/BLAKE3/blake3_impl.h b/llvm/lib/Support/BLAKE3/blake3_impl.h
index dd71e729f208f..4978d83ae24c8 100644
--- a/llvm/lib/Support/BLAKE3/blake3_impl.h
+++ b/llvm/lib/Support/BLAKE3/blake3_impl.h
@@ -5,7 +5,6 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <string.h>
 
 #include "llvm-c/blake3.h"
 // For \p LLVM_LIBRARY_VISIBILITY
diff --git a/llvm/lib/Support/SHA1.cpp b/llvm/lib/Support/SHA1.cpp
index 412f894492bfe..7cc24efeff99c 100644
--- a/llvm/lib/Support/SHA1.cpp
+++ b/llvm/lib/Support/SHA1.cpp
@@ -19,7 +19,6 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Endian.h"
 #include "llvm/Support/SwapByteOrder.h"
-#include <string.h>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Support/SHA256.cpp b/llvm/lib/Support/SHA256.cpp
index a8019002499ca..5740a3398fbbd 100644
--- a/llvm/lib/Support/SHA256.cpp
+++ b/llvm/lib/Support/SHA256.cpp
@@ -24,7 +24,6 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Endian.h"
 #include "llvm/Support/SwapByteOrder.h"
-#include <string.h>
 
 namespace llvm {
 
diff --git a/llvm/lib/Support/Threading.cpp b/llvm/lib/Support/Threading.cpp
index 90352d2f212a4..27f6ddd12eec0 100644
--- a/llvm/lib/Support/Threading.cpp
+++ b/llvm/lib/Support/Threading.cpp
@@ -16,7 +16,6 @@
 #include "llvm/Config/llvm-config.h"
 #include "llvm/Support/Jobserver.h"
 
-#include <cassert>
 #include <optional>
 #include <stdlib.h>
 
diff --git a/llvm/lib/Support/Unix/Unix.h b/llvm/lib/Support/Unix/Unix.h
index f24d524982b23..651fca1849a9c 100644
--- a/llvm/lib/Support/Unix/Unix.h
+++ b/llvm/lib/Support/Unix/Unix.h
@@ -24,9 +24,6 @@
 #include "llvm/Support/ErrorHandling.h"
 #include <assert.h>
 #include <cerrno>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
 #include <string>
 #include <sys/types.h>
 #include <sys/wait.h>
diff --git a/llvm/lib/TableGen/TGLexer.cpp b/llvm/lib/TableGen/TGLexer.cpp
index 3c88f107f790a..9be16020a33ec 100644
--- a/llvm/lib/TableGen/TGLexer.cpp
+++ b/llvm/lib/TableGen/TGLexer.cpp
@@ -23,7 +23,6 @@
 #include <cerrno>
 #include <cstdio>
 #include <cstdlib>
-#include <cstring>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index 906117a066dd6..d8c78a169390b 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -54,7 +54,6 @@
 #include <cassert>
 #include <cctype>
 #include <cstdint>
-#include <cstdio>
 #include <optional>
 #include <string>
 #include <tuple>
diff --git a/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h b/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
index 9ae175274d5d9..f4ee1e72f60b9 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
+++ b/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
@@ -17,7 +17,6 @@
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/CodeGen/GlobalISel/CallLowering.h"
 #include "llvm/IR/CallingConv.h"
-#include <cstdint>
 #include <functional>
 
 namespace llvm {
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
index 4ecf2ef268f91..cee9ea5530a24 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
@@ -22,7 +22,6 @@
 #include "llvm/MC/MCSymbolELF.h"
 #include "llvm/MC/MCValue.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cassert>
 #include <cstdint>
 
 using namespace llvm;
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
index 5fe999389ce79..70c7eb11629ee 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
@@ -20,7 +20,6 @@
 #include "llvm/MC/MCWinCOFFObjectWriter.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cassert>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
index a13011eca5a60..1a23f84d0cd53 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
@@ -31,7 +31,6 @@
 #include "llvm/IR/MDBuilder.h"
 #include "llvm/Target/TargetMachine.h"
 #include <optional>
-#include <string>
 
 #define DEBUG_TYPE "amdgpu-lower-kernel-arguments"
 
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp b/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
index f6fe48bf5bb49..45840437b9bb2 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
@@ -72,7 +72,6 @@
 #include "llvm/Support/raw_ostream.h"
 
 #include <algorithm>
-#include <limits>
 #include <string>
 
 using namespace llvm;
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h b/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h
index 90cbb08c93f47..cf8d25f6b98df 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h
@@ -32,7 +32,6 @@
 #include "llvm/Support/Format.h"
 #include "llvm/Support/JSON.h"
 #include <limits>
-#include <optional>
 
 namespace llvm {
 
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
index 20f2cb826ac4b..052c3cf9e2271 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
@@ -15,8 +15,6 @@
 #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600MCTARGETDESC_H
 #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600MCTARGETDESC_H
 
-#include <cstdint>
-
 namespace llvm {
 class MCCodeEmitter;
 class MCContext;
diff --git a/llvm/lib/Target/ARM/ARMCallLowering.h b/llvm/lib/Target/ARM/ARMCallLowering.h
index 32c95a044d7b7..a0d299b0982b9 100644
--- a/llvm/lib/Target/ARM/ARMCallLowering.h
+++ b/llvm/lib/Target/ARM/ARMCallLowering.h
@@ -17,8 +17,6 @@
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/CodeGen/GlobalISel/CallLowering.h"
 #include "llvm/IR/CallingConv.h"
-#include <cstdint>
-#include <functional>
 
 namespace llvm {
 
diff --git a/llvm/lib/Target/ARM/ARMHazardRecognizer.h b/llvm/lib/Target/ARM/ARMHazardRecognizer.h
index b9ac3555c2bc3..1bbaef5007a75 100644
--- a/llvm/lib/Target/ARM/ARMHazardRecognizer.h
+++ b/llvm/lib/Target/ARM/ARMHazardRecognizer.h
@@ -18,7 +18,6 @@
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/CodeGen/ScheduleHazardRecognizer.h"
 #include "llvm/Support/DataTypes.h"
-#include <initializer_list>
 
 namespace llvm {
 
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
index 5adffeed04bda..8535abf2a69e9 100644
--- a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
+++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
@@ -22,8 +22,6 @@
 #include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/Support/ErrorHandling.h"
 
-#include <cstring>
-
 #define DEBUG_TYPE "asm-printer"
 
 namespace llvm {
diff --git a/llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp b/llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
index a2cf0a57675c7..86a43e6701e17 100644
--- a/llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
+++ b/llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
@@ -49,7 +49,6 @@
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
 #include <cassert>
-#include <cstdint>
 #include <iterator>
 #include <vector>
 
diff --git a/llvm/lib/Target/CSKY/CSKYConstantPoolValue.h b/llvm/lib/Target/CSKY/CSKYConstantPoolValue.h
index e36454139d439..58b878dcc6170 100644
--- a/llvm/lib/Target/CSKY/CSKYConstantPoolValue.h
+++ b/llvm/lib/Target/CSKY/CSKYConstantPoolValue.h
@@ -17,7 +17,6 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cstddef>
 
 namespace llvm {
 
diff --git a/llvm/lib/Target/DirectX/CBufferDataLayout.h b/llvm/lib/Target/DirectX/CBufferDataLayout.h
index 65321512cb794..1345c1fd05616 100644
--- a/llvm/lib/Target/DirectX/CBufferDataLayout.h
+++ b/llvm/lib/Target/DirectX/CBufferDataLayout.h
@@ -16,7 +16,6 @@
 #include "llvm/Support/TypeSize.h"
 
 #include <memory>
-#include <stdint.h>
 
 namespace llvm {
 class DataLayout;
diff --git a/llvm/lib/Target/Hexagon/HexagonLiveVariables.h b/llvm/lib/Target/Hexagon/HexagonLiveVariables.h
index 396145d49db45..ee1fa4fb2bfb8 100644
--- a/llvm/lib/Target/Hexagon/HexagonLiveVariables.h
+++ b/llvm/lib/Target/Hexagon/HexagonLiveVariables.h
@@ -30,7 +30,6 @@
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/TargetRegisterInfo.h"
-#include <algorithm>
 #include <cstdint>
 #include <list>
 
diff --git a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
index 1bb135a9e5c87..7a2ac99b9cec6 100644
--- a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
@@ -51,7 +51,6 @@
 
 #include <algorithm>
 #include <deque>
-#include <map>
 #include <optional>
 #include <set>
 #include <utility>
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
index 838672d34741d..09c7f9daed83b 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
@@ -22,7 +22,6 @@
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/SMLoc.h"
 #include <cstdint>
-#include <functional>
 #include <optional>
 #include <utility>
 
diff --git a/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp b/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
index fb5cd5c29d7dc..02849450205a9 100644
--- a/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
+++ b/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
@@ -18,8 +18,6 @@
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/TargetRegistry.h"
 
-#include <sstream>
-
 #define DEBUG_TYPE "m68k-asm-parser"
 
 using namespace llvm;
diff --git a/llvm/lib/Target/M68k/M68kInstrBuilder.h b/llvm/lib/Target/M68k/M68kInstrBuilder.h
index e85bd270287c3..3971bcabc1fca 100644
--- a/llvm/lib/Target/M68k/M68kInstrBuilder.h
+++ b/llvm/lib/Target/M68k/M68kInstrBuilder.h
@@ -33,8 +33,6 @@
 #include "llvm/CodeGen/MachineOperand.h"
 #include "llvm/MC/MCInstrDesc.h"
 
-#include <cassert>
-
 namespace llvm {
 namespace M68k {
 static inline const MachineInstrBuilder &
diff --git a/llvm/lib/Target/Mips/Mips16InstrInfo.cpp b/llvm/lib/Target/Mips/Mips16InstrInfo.cpp
index ac548021341ff..e5c6dfe365804 100644
--- a/llvm/lib/Target/Mips/Mips16InstrInfo.cpp
+++ b/llvm/lib/Target/Mips/Mips16InstrInfo.cpp
@@ -28,7 +28,6 @@
 #include <cctype>
 #include <cstdint>
 #include <cstdlib>
-#include <cstring>
 #include <iterator>
 #include <vector>
 
diff --git a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
index 78f4e67455023..4d66f268747b4 100644
--- a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
+++ b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
@@ -13,8 +13,6 @@
 #ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCTARGETDESC_H
 #define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCTARGETDESC_H
 
-#include <stdint.h>
-
 // Defines symbolic names for PTX registers.
 #define GET_REGINFO_ENUM
 #include "NVPTXGenRegisterInfo.inc"
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 10e746c502c09..b0e4b7ca6844a 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -38,7 +38,6 @@
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Transforms/Scalar/GVN.h"
 #include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
-#include <cassert>
 #include <optional>
 #include <string>
 
diff --git a/llvm/lib/Target/NVPTX/NVPTXUtilities.h b/llvm/lib/Target/NVPTX/NVPTXUtilities.h
index b6e18bf998897..a689b4377db34 100644
--- a/llvm/lib/Target/NVPTX/NVPTXUtilities.h
+++ b/llvm/lib/Target/NVPTX/NVPTXUtilities.h
@@ -22,7 +22,6 @@
 #include "llvm/IR/Value.h"
 #include "llvm/Support/Alignment.h"
 #include "llvm/Support/FormatVariadic.h"
-#include <cstdarg>
 #include <string>
 
 namespace llvm {
diff --git a/llvm/lib/Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp b/llvm/lib/Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp
index 5b6a6d6b95c52..5e979c4e09f90 100644
--- a/llvm/lib/Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp
+++ b/llvm/lib/Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp
@@ -19,7 +19,6 @@
 #include "llvm/CodeGen/TargetPassConfig.h"
 #include "llvm/IR/Instructions.h"
 #include "llvm/IR/Module.h"
-#include <cassert>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
index 85e022a2ba6fc..b6c7987cc792c 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -29,7 +29,6 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/TargetParser/PPCTargetParser.h"
-#include <cstdlib>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
index 734a03ff60141..fb54959a026ee 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
@@ -17,10 +17,7 @@
 #include "llvm/ADT/StringMap.h"
 #include "llvm/TargetParser/Triple.h"
 
-#include <functional>
-#include <iterator>
 #include <string>
-#include <utility>
 #include <vector>
 
 #define DEBUG_TYPE "spirv-commandline"
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
index 383c96e8cca73..b5d1330b9a757 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
@@ -21,7 +21,6 @@
 #include "llvm/MC/MCInstrInfo.h"
 #include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/MC/MCSubtargetInfo.h"
-#include <cassert>
 #include <cstdint>
 
 using namespace llvm;
diff --git a/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp b/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
index bf9f8e6e90817..a1d1da215ad30 100644
--- a/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
+++ b/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
@@ -34,7 +34,6 @@
 #include "llvm/MC/TargetRegistry.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/SourceMgr.h"
-#include <sstream>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Target/X86/GISel/X86CallLowering.h b/llvm/lib/Target/X86/GISel/X86CallLowering.h
index 9067abf060bd9..97a2a9758c06a 100644
--- a/llvm/lib/Target/X86/GISel/X86CallLowering.h
+++ b/llvm/lib/Target/X86/GISel/X86CallLowering.h
@@ -15,7 +15,6 @@
 #define LLVM_LIB_TARGET_X86_X86CALLLOWERING_H
 
 #include "llvm/CodeGen/GlobalISel/CallLowering.h"
-#include <functional>
 
 namespace llvm {
 
diff --git a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaELFObjectWriter.cpp b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaELFObjectWriter.cpp
index e2b1c5683d50b..a7b3a1d1414fd 100644
--- a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaELFObjectWriter.cpp
+++ b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaELFObjectWriter.cpp
@@ -18,7 +18,6 @@
 #include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCValue.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cassert>
 #include <cstdint>
 
 using namespace llvm;
diff --git a/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp b/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
index 4e53aa5736c72..85e7cdb07a039 100644
--- a/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
+++ b/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
@@ -18,7 +18,6 @@
 #include "llvm/IR/GlobalValue.h"
 #include "llvm/IR/Type.h"
 #include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
 using namespace llvm;
 
 XtensaConstantPoolValue::XtensaConstantPoolValue(
diff --git a/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h b/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
index 5580de4844746..0f45e5c6dcc6e 100644
--- a/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
+++ b/llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
@@ -16,7 +16,6 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
-#include <cstddef>
 #include <string>
 #include <vector>
 
diff --git a/llvm/lib/TargetParser/TargetDataLayout.cpp b/llvm/lib/TargetParser/TargetDataLayout.cpp
index 253c16d68dc0e..25b0b6c4acddd 100644
--- a/llvm/lib/TargetParser/TargetDataLayout.cpp
+++ b/llvm/lib/TargetParser/TargetDataLayout.cpp
@@ -10,7 +10,6 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/TargetParser/ARMTargetParser.h"
 #include "llvm/TargetParser/Triple.h"
-#include <cstring>
 using namespace llvm;
 
 static StringRef getManglingComponent(const Triple &T) {
diff --git a/llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp b/llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
index cf7e4507aff9b..1240aa112fde1 100644
--- a/llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
@@ -30,8 +30,6 @@
 #include "llvm/Transforms/Utils/CallGraphUpdater.h"
 #include "llvm/Transforms/Utils/Cloning.h"
 
-#include <cassert>
-
 using namespace llvm;
 
 #define DEBUG_TYPE "coro-annotation-elide"
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
index 897463186431f..065bc6837c65e 100644
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
@@ -72,7 +72,6 @@
 #include <cassert>
 #include <cstddef>
 #include <cstdint>
-#include <initializer_list>
 #include <iterator>
 
 using namespace llvm;
diff --git a/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp b/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
index 1367940ad8ef8..dbfa5c40a95a1 100644
--- a/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
+++ b/llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
@@ -20,7 +20,6 @@
 #include "llvm/Transforms/Utils/Cloning.h"
 #include "llvm/Transforms/Utils/SCCPSolver.h"
 #include "llvm/Transforms/Utils/SizeOpts.h"
-#include <cmath>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
index f4568852a997d..b2fb5fa1aabcb 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
@@ -26,7 +26,6 @@
 #include "llvm/IR/Value.h"
 #include "llvm/Support/KnownBits.h"
 #include "llvm/Transforms/InstCombine/InstCombiner.h"
-#include <iterator>
 #include <optional>
 
 using namespace llvm;
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp b/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
index b0a0bcfbde19e..453d35c9da83e 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
@@ -42,7 +42,6 @@
 #include "llvm/Transforms/InstCombine/InstCombiner.h"
 #include <cassert>
 #include <cstdint>
-#include <functional>
 #include <utility>
 
 using namespace llvm;
diff --git a/llvm/lib/Transforms/Instrumentation/AllocToken.cpp b/llvm/lib/Transforms/Instrumentation/AllocToken.cpp
index ed82882ebc13f..fc3d657441743 100644
--- a/llvm/lib/Transforms/Instrumentation/AllocToken.cpp
+++ b/llvm/lib/Transforms/Instrumentation/AllocToken.cpp
@@ -45,9 +45,7 @@
 #include "llvm/Support/SipHash.h"
 #include "llvm/Support/raw_ostream.h"
 #include <cassert>
-#include <cstddef>
 #include <cstdint>
-#include <limits>
 #include <memory>
 #include <optional>
 #include <string>
diff --git a/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp b/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
index ff5bf52b560cf..b49db8e29b042 100644
--- a/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
+++ b/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
@@ -35,7 +35,6 @@
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/Transforms/Utils/Local.h"
 #include <cassert>
-#include <cstdint>
 
 using namespace llvm;
 
diff --git a/llvm/lib/Transforms/Utils/CloneFunction.cpp b/llvm/lib/Transforms/Utils/CloneFunction.cpp
index 8bf941cf19cd9..0c4fc3ee2a5b9 100644
--- a/llvm/lib/Transforms/Utils/CloneFunction.cpp
+++ b/llvm/lib/Transforms/Utils/CloneFunction.cpp
@@ -36,7 +36,6 @@
 #include "llvm/Transforms/Utils/Local.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
 #include <cstdint>
-#include <map>
 #include <optional>
 using namespace llvm;
 
diff --git a/llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp b/llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
index 46fa4c847b097..7c4e409b0348a 100644
--- a/llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
+++ b/llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
@@ -24,7 +24,6 @@
 #include "llvm/IR/Intrinsics.h"
 #include "llvm/TargetParser/Triple.h"
 #include "llvm/Transforms/Utils/PromoteMemToReg.h"
-#include <utility>
 
 namespace llvm {
 namespace memtag {
diff --git a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
index 89ba9227d8952..0ee3d66f7a1a2 100644
--- a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
@@ -108,7 +108,6 @@
 #include <cstdint>
 #include <cstdlib>
 #include <iterator>
-#include <numeric>
 #include <optional>
 #include <tuple>
 #include <type_traits>

>From 46581d336823a8f6590c9fc0a18519b5edc99b7d Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 19:55:53 +0200
Subject: [PATCH 2/6] fixup! Automatic removal of unused standard header

---
 clang/include/clang/Basic/TokenKinds.h                 | 2 ++
 llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h | 2 ++
 llvm/lib/Target/AMDGPU/R600RegisterInfo.h              | 2 ++
 llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h | 2 ++
 llvm/lib/Target/NVPTX/NVPTX.h                          | 2 ++
 llvm/lib/Target/NVPTX/NVPTXInstrInfo.h                 | 2 ++
 6 files changed, 12 insertions(+)

diff --git a/clang/include/clang/Basic/TokenKinds.h b/clang/include/clang/Basic/TokenKinds.h
index c0316257d9d97..f342593ebda36 100644
--- a/clang/include/clang/Basic/TokenKinds.h
+++ b/clang/include/clang/Basic/TokenKinds.h
@@ -17,6 +17,8 @@
 #include "llvm/ADT/DenseMapInfo.h"
 #include "llvm/Support/Compiler.h"
 
+#include <cassert>
+
 namespace clang {
 
 namespace tok {
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
index 052c3cf9e2271..299b271dc4fb0 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
@@ -15,6 +15,8 @@
 #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600MCTARGETDESC_H
 #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600MCTARGETDESC_H
 
+#include <cstdint> // required by R600GenRegisterInfo.inc
+
 namespace llvm {
 class MCCodeEmitter;
 class MCContext;
diff --git a/llvm/lib/Target/AMDGPU/R600RegisterInfo.h b/llvm/lib/Target/AMDGPU/R600RegisterInfo.h
index 2372c5361611f..baa0622ab3090 100644
--- a/llvm/lib/Target/AMDGPU/R600RegisterInfo.h
+++ b/llvm/lib/Target/AMDGPU/R600RegisterInfo.h
@@ -14,6 +14,8 @@
 #ifndef LLVM_LIB_TARGET_AMDGPU_R600REGISTERINFO_H
 #define LLVM_LIB_TARGET_AMDGPU_R600REGISTERINFO_H
 
+#include <cstdint> // required by R600GenRegisterInfo.inc
+
 #define GET_REGINFO_HEADER
 #include "R600GenRegisterInfo.inc"
 
diff --git a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
index 4d66f268747b4..b534d5a779e4f 100644
--- a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
+++ b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
@@ -13,6 +13,8 @@
 #ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCTARGETDESC_H
 #define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXMCTARGETDESC_H
 
+#include <cstdint> // required by NVPTXGenInstrInfo.inc
+
 // Defines symbolic names for PTX registers.
 #define GET_REGINFO_ENUM
 #include "NVPTXGenRegisterInfo.inc"
diff --git a/llvm/lib/Target/NVPTX/NVPTX.h b/llvm/lib/Target/NVPTX/NVPTX.h
index 09a94034894eb..ae8ec445a2e47 100644
--- a/llvm/lib/Target/NVPTX/NVPTX.h
+++ b/llvm/lib/Target/NVPTX/NVPTX.h
@@ -21,6 +21,8 @@
 #include "llvm/Support/NVPTXAddrSpace.h"
 #include "llvm/Target/TargetMachine.h"
 
+#include <cstdint> // required by NVPTXGenInstrInfo.inc
+
 namespace llvm {
 class FunctionPass;
 class MachineFunctionPass;
diff --git a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
index 3c150b1e26785..ddb3aa2243d63 100644
--- a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
+++ b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
@@ -17,6 +17,8 @@
 #include "NVPTXRegisterInfo.h"
 #include "llvm/CodeGen/TargetInstrInfo.h"
 
+#include <cstdint> // required by NVPTXGenInstrInfo.inc
+
 #define GET_INSTRINFO_HEADER
 #include "NVPTXGenInstrInfo.inc"
 

>From 64fadd06b4be6fd247b00fb14b96e96073fe99e9 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 20:41:24 +0200
Subject: [PATCH 3/6] fixup! fixup! Automatic removal of unused standard header

---
 compiler-rt/lib/ctx_profile/CtxInstrContextNode.h   | 2 +-
 llvm/include/llvm/ProfileData/CtxInstrContextNode.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/compiler-rt/lib/ctx_profile/CtxInstrContextNode.h b/compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
index e4e310b2e987d..8fd38289f7443 100644
--- a/compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
+++ b/compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
@@ -58,8 +58,8 @@
 #ifndef LLVM_PROFILEDATA_CTXINSTRCONTEXTNODE_H
 #define LLVM_PROFILEDATA_CTXINSTRCONTEXTNODE_H
 
+#include <stddef.h>
 #include <stdint.h>
-#include <stdlib.h>
 
 namespace llvm {
 namespace ctx_profile {
diff --git a/llvm/include/llvm/ProfileData/CtxInstrContextNode.h b/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
index 7cb35d5dd5fe6..8fd38289f7443 100644
--- a/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
+++ b/llvm/include/llvm/ProfileData/CtxInstrContextNode.h
@@ -58,6 +58,7 @@
 #ifndef LLVM_PROFILEDATA_CTXINSTRCONTEXTNODE_H
 #define LLVM_PROFILEDATA_CTXINSTRCONTEXTNODE_H
 
+#include <stddef.h>
 #include <stdint.h>
 
 namespace llvm {

>From 34238db9da2cc2d3d04c9ecc1f14bfe8e3e8beb5 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 21:01:57 +0200
Subject: [PATCH 4/6] fixup! fixup! fixup! Automatic removal of unused standard
 header

---
 llvm/include/llvm/Support/pch.h       | 26 ++++++++++++++++++++++++++
 llvm/lib/Support/BLAKE3/blake3_neon.c |  2 ++
 2 files changed, 28 insertions(+)

diff --git a/llvm/include/llvm/Support/pch.h b/llvm/include/llvm/Support/pch.h
index f7e1eb82026fd..ccfeceb231f61 100644
--- a/llvm/include/llvm/Support/pch.h
+++ b/llvm/include/llvm/Support/pch.h
@@ -36,14 +36,40 @@
 #include "llvm/Support/VersionTuple.h"
 #include "llvm/Support/YAMLTraits.h"
 #include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <array>
 #include <atomic>
 #include <bitset>
+#include <cassert>
 #include <chrono>
 #include <climits>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
 #include <ctime>
 #include <deque>
+#include <functional>
+#include <initializer_list>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <map>
+#include <memory>
 #include <mutex>
 #include <new>
+#include <optional>
 #include <queue>
+#include <set>
+#include <sstream>
+#include <string>
+#include <string_view>
 #include <system_error>
+#include <tuple>
+#include <type_traits>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
 #include <variant>
+#include <vector>
diff --git a/llvm/lib/Support/BLAKE3/blake3_neon.c b/llvm/lib/Support/BLAKE3/blake3_neon.c
index e691635cf41cb..e063f3d9290f5 100644
--- a/llvm/lib/Support/BLAKE3/blake3_neon.c
+++ b/llvm/lib/Support/BLAKE3/blake3_neon.c
@@ -10,6 +10,8 @@
 // and stores right, but step zero would be finding a way to test it in CI.
 #endif
 
+#include <cstring>
+
 INLINE uint32x4_t loadu_128(const uint8_t src[16]) {
   // vld1q_u32 has alignment requirements. Don't use it.
   return vreinterpretq_u32_u8(vld1q_u8(src));

>From bccc615893851c3a070a930d8746ade65f7dde29 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 21:58:45 +0200
Subject: [PATCH 5/6] fixup! fixup! fixup! fixup! Automatic removal of unused
 standard header

---
 libcxxabi/src/demangle/ItaniumDemangle.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libcxxabi/src/demangle/ItaniumDemangle.h b/libcxxabi/src/demangle/ItaniumDemangle.h
index b999438ff2ca8..8e3803af6f3a2 100644
--- a/libcxxabi/src/demangle/ItaniumDemangle.h
+++ b/libcxxabi/src/demangle/ItaniumDemangle.h
@@ -24,7 +24,6 @@
 #include <cstdint>
 #include <cstdio>
 #include <cstdlib>
-#include <cstring>
 #include <limits>
 #include <new>
 #include <string_view>

>From 17be04f002e832968fb613d52fe60bb11a0b9b0b Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton at mozilla.com>
Date: Sat, 18 Apr 2026 22:36:30 +0200
Subject: [PATCH 6/6] fixup! fixup! fixup! fixup! fixup! Automatic removal of
 unused standard header

---
 llvm/lib/Support/BLAKE3/blake3_neon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Support/BLAKE3/blake3_neon.c b/llvm/lib/Support/BLAKE3/blake3_neon.c
index e063f3d9290f5..c4cb96ed7531d 100644
--- a/llvm/lib/Support/BLAKE3/blake3_neon.c
+++ b/llvm/lib/Support/BLAKE3/blake3_neon.c
@@ -10,7 +10,7 @@
 // and stores right, but step zero would be finding a way to test it in CI.
 #endif
 
-#include <cstring>
+#include <string.h>
 
 INLINE uint32x4_t loadu_128(const uint8_t src[16]) {
   // vld1q_u32 has alignment requirements. Don't use it.



More information about the cfe-commits mailing list