From 37502e042ff007972db0a03dd8c5e293c3219de3 Mon Sep 17 00:00:00 2001 From: Sergei Barannikov Date: Fri, 22 Jul 2022 10:45:02 -0700 Subject: [PATCH] [clang][CodeGen] Only include ABIInfo.h where required (NFC) Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D130322 --- clang/lib/CodeGen/ABIInfo.h | 4 ---- clang/lib/CodeGen/CGBuiltin.cpp | 1 + clang/lib/CodeGen/CGCall.h | 3 --- clang/lib/CodeGen/CGObjCRuntime.h | 3 ++- clang/lib/CodeGen/CodeGenModule.cpp | 2 +- clang/lib/CodeGen/SwiftCallingConv.cpp | 3 ++- clang/lib/CodeGen/TargetInfo.cpp | 3 +++ clang/lib/CodeGen/TargetInfo.h | 4 ++-- 8 files changed, 11 insertions(+), 12 deletions(-) diff --git a/clang/lib/CodeGen/ABIInfo.h b/clang/lib/CodeGen/ABIInfo.h index 6214148adab9..fe6cc7a2b1c7 100644 --- a/clang/lib/CodeGen/ABIInfo.h +++ b/clang/lib/CodeGen/ABIInfo.h @@ -35,10 +35,6 @@ namespace CodeGen { class CodeGenTypes; class SwiftABIInfo; -namespace swiftcall { - class SwiftAggLowering; -} - // FIXME: All of this stuff should be part of the target interface // somehow. It is currently here because it is not clear how to factor // the targets to support this, since the Targets currently live in a diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 8c7ee6b078f2..113c629bf9ed 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -10,6 +10,7 @@ // //===----------------------------------------------------------------------===// +#include "ABIInfo.h" #include "CGCUDARuntime.h" #include "CGCXXABI.h" #include "CGObjCRuntime.h" diff --git a/clang/lib/CodeGen/CGCall.h b/clang/lib/CodeGen/CGCall.h index af63e1bddd2d..59c3f304f59b 100644 --- a/clang/lib/CodeGen/CGCall.h +++ b/clang/lib/CodeGen/CGCall.h @@ -22,9 +22,6 @@ #include "clang/AST/Type.h" #include "llvm/IR/Value.h" -// FIXME: Restructure so we don't have to expose so much stuff. -#include "ABIInfo.h" - namespace llvm { class Type; class Value; diff --git a/clang/lib/CodeGen/CGObjCRuntime.h b/clang/lib/CodeGen/CGObjCRuntime.h index bb27c38db204..3bd981256f47 100644 --- a/clang/lib/CodeGen/CGObjCRuntime.h +++ b/clang/lib/CodeGen/CGObjCRuntime.h @@ -34,7 +34,8 @@ namespace llvm { namespace clang { namespace CodeGen { - class CodeGenFunction; +class CGFunctionInfo; +class CodeGenFunction; } class FieldDecl; diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 7bc79630d67f..a8b008b11435 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -11,6 +11,7 @@ //===----------------------------------------------------------------------===// #include "CodeGenModule.h" +#include "ABIInfo.h" #include "CGBlocks.h" #include "CGCUDARuntime.h" #include "CGCXXABI.h" @@ -32,7 +33,6 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/DeclTemplate.h" #include "clang/AST/Mangle.h" -#include "clang/AST/RecordLayout.h" #include "clang/AST/RecursiveASTVisitor.h" #include "clang/AST/StmtVisitor.h" #include "clang/Basic/Builtins.h" diff --git a/clang/lib/CodeGen/SwiftCallingConv.cpp b/clang/lib/CodeGen/SwiftCallingConv.cpp index 1d712f4fde3c..8fb24fcecf53 100644 --- a/clang/lib/CodeGen/SwiftCallingConv.cpp +++ b/clang/lib/CodeGen/SwiftCallingConv.cpp @@ -11,9 +11,10 @@ //===----------------------------------------------------------------------===// #include "clang/CodeGen/SwiftCallingConv.h" -#include "clang/Basic/TargetInfo.h" +#include "ABIInfo.h" #include "CodeGenModule.h" #include "TargetInfo.h" +#include "clang/Basic/TargetInfo.h" using namespace clang; using namespace CodeGen; diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index 8eaed1db8e7d..e8ee5533104c 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -443,6 +443,9 @@ static Address emitMergePHI(CodeGenFunction &CGF, return Address(PHI, Addr1.getElementType(), Align); } +TargetCodeGenInfo::TargetCodeGenInfo(std::unique_ptr Info) + : Info(std::move(Info)) {} + TargetCodeGenInfo::~TargetCodeGenInfo() = default; // If someone can figure out a general rule for this, that would be great. diff --git a/clang/lib/CodeGen/TargetInfo.h b/clang/lib/CodeGen/TargetInfo.h index bdd64977b475..30421612015b 100644 --- a/clang/lib/CodeGen/TargetInfo.h +++ b/clang/lib/CodeGen/TargetInfo.h @@ -43,10 +43,10 @@ class CGBlockInfo; /// codegeneration issues, like target-specific attributes, builtins and so /// on. class TargetCodeGenInfo { - std::unique_ptr Info = nullptr; + std::unique_ptr Info; public: - TargetCodeGenInfo(std::unique_ptr Info) : Info(std::move(Info)) {} + TargetCodeGenInfo(std::unique_ptr Info); virtual ~TargetCodeGenInfo(); /// getABIInfo() - Returns ABI info helper for the target.