-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[NFC][clang] Remove superfluous header files after refactor in #132252 #132495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-clang-codegen @llvm/pr-subscribers-backend-amdgpu Author: Jonathan Thackray (jthackray) ChangesRemove superfluous header files after refactor in #132252 Full diff: https://github.com/llvm/llvm-project/pull/132495.diff 11 Files Affected:
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index f0ba52fa41ce8..1159f6c08e9ca 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -23,36 +23,18 @@
#include "ConstantEmitter.h"
#include "PatternInit.h"
#include "TargetInfo.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/AST/Attr.h"
-#include "clang/AST/Decl.h"
-#include "clang/AST/Expr.h"
#include "clang/AST/OSLog.h"
-#include "clang/AST/OperationKinds.h"
#include "clang/AST/StmtVisitor.h"
-#include "clang/AST/Type.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/TargetOptions.h"
-#include "clang/CodeGen/CGFunctionInfo.h"
#include "clang/Frontend/FrontendDiagnostic.h"
-#include "llvm/ADT/APFloat.h"
-#include "llvm/ADT/APInt.h"
-#include "llvm/ADT/FloatingPointMode.h"
-#include "llvm/ADT/SmallPtrSet.h"
-#include "llvm/ADT/StringExtras.h"
-#include "llvm/Analysis/ValueTracking.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsX86.h"
-#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/MatrixBuilder.h"
-#include "llvm/IR/MemoryModelRelaxationAnnotations.h"
#include "llvm/Support/ConvertUTF.h"
-#include "llvm/Support/MathExtras.h"
#include "llvm/Support/ScopedPrinter.h"
-#include <numeric>
#include <optional>
#include <utility>
diff --git a/clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp b/clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
index f94917c905081..76bcbe0468c66 100644
--- a/clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
@@ -10,21 +10,14 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGHLSLRuntime.h"
#include "CGBuiltin.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/ADT/StringExtras.h"
#include "llvm/Analysis/ValueTracking.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"
#include "llvm/IR/IntrinsicsR600.h"
-#include "llvm/IR/MDBuilder.h"
-#include "llvm/IR/MatrixBuilder.h"
#include "llvm/IR/MemoryModelRelaxationAnnotations.h"
#include "llvm/Support/AMDGPUAddrSpace.h"
-#include "llvm/Support/ConvertUTF.h"
using namespace clang;
using namespace CodeGen;
diff --git a/clang/lib/CodeGen/TargetBuiltins/ARM.cpp b/clang/lib/CodeGen/TargetBuiltins/ARM.cpp
index fd44f4ce47b5b..63b3d17f97f85 100644
--- a/clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/ARM.cpp
@@ -15,7 +15,6 @@
#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsAArch64.h"
#include "llvm/IR/IntrinsicsARM.h"
#include "llvm/IR/IntrinsicsBPF.h"
diff --git a/clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp b/clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
index 3e08477b185f7..26fe69536daa2 100644
--- a/clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
@@ -10,12 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsHexagon.h"
using namespace clang;
diff --git a/clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp b/clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
index ec3465737ff8a..aaac19b229905 100644
--- a/clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
@@ -10,14 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGBuiltin.h"
-#include "CodeGenFunction.h"
-#include "CodeGenModule.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
using namespace clang;
diff --git a/clang/lib/CodeGen/TargetBuiltins/PPC.cpp b/clang/lib/CodeGen/TargetBuiltins/PPC.cpp
index 77f2d8e2f3e74..f9890285f0aab 100644
--- a/clang/lib/CodeGen/TargetBuiltins/PPC.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/PPC.cpp
@@ -10,13 +10,9 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGBuiltin.h"
-#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsPowerPC.h"
#include "llvm/Support/ScopedPrinter.h"
diff --git a/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp b/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
index c07bececda817..2434ae3c5d2ff 100644
--- a/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
@@ -10,12 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsRISCV.h"
#include "llvm/TargetParser/RISCVISAInfo.h"
#include "llvm/TargetParser/RISCVTargetParser.h"
diff --git a/clang/lib/CodeGen/TargetBuiltins/SPIR.cpp b/clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
index 844e7c8ad5d4f..acd715e1d93d6 100644
--- a/clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
@@ -10,12 +10,9 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGHLSLRuntime.h"
#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Intrinsics.h"
using namespace clang;
diff --git a/clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp b/clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
index e13289e21fd30..a7c25b29d1dba 100644
--- a/clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
@@ -10,12 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsS390.h"
using namespace clang;
diff --git a/clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp b/clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
index e5b544a225098..698f43215a1be 100644
--- a/clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
@@ -10,13 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGBuiltin.h"
-#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsWebAssembly.h"
using namespace clang;
diff --git a/clang/lib/CodeGen/TargetBuiltins/X86.cpp b/clang/lib/CodeGen/TargetBuiltins/X86.cpp
index dcb0365862a1e..0466770587a42 100644
--- a/clang/lib/CodeGen/TargetBuiltins/X86.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/X86.cpp
@@ -10,13 +10,9 @@
//
//===----------------------------------------------------------------------===//
-#include "ABIInfo.h"
#include "CGBuiltin.h"
-#include "CodeGenFunction.h"
-#include "TargetInfo.h"
#include "clang/Basic/TargetBuiltins.h"
#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsX86.h"
#include "llvm/TargetParser/X86TargetParser.h"
|
7f1f78a
to
a55f760
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How'd you manage to find the right ones? IMO we should be using include-what-you-use on these to make sure we get it right (if you have already, disregard this).
Also, can you share before-split/after-split/after-this build time benchmarks? Does this get us back to reasonable?
There's a clang-tidy rule for this right? I assumed that's what this was. |
I'm not aware of a tidy rule that does include-file management, but if so, that is equally as good, if that is what was used. Just pushing to make sure we get this done in an automated fashion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Does this actually fix the build time regression from the previous patch?
Apologies for the delay; I wasn't working yesterday. Using a Graviton c8g.8xlarge instance, with a Build times are also quite compiler-dependent. GCC takes a lot longer than clang, especially for the previously-mentioned RISC-V file Using clang 18 to compile a full
i.e. 2 seconds longer build time. However, with gcc 13 compiling, using
If only
and:
|
This. IMHO I think quality-of-life improvements on incremental build -- especially for LLVM developers -- is already a big thing that can justify the splitting change by itself. Regarding the marginal difference on clean builds: my guess is that compilers might spend an even longer time on another source file(s) which dominate the total compilation time. |
Yes, I used iwyu.
I've pasted my own benchmarks in an above message. tl;dr, I didn't see any overall build time increase, but incremental build time reduction using clang is cut in half from 35 seconds to 16 seconds if only modifying |
Remove superfluous header files after refactor in #132252