From b108a457e1be9b5c9e20900c9e148dc14f8549b2 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 23 Apr 2020 12:33:57 +0100 Subject: [PATCH] [VPlan] Remove unused forward declarations. NFC. Move VPlan.h include from VPlanVerifier.h down to VPlanVerifier.cpp --- llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h | 2 ++ llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h | 1 - llvm/lib/Transforms/Vectorize/VPlan.h | 4 +--- llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp | 1 + llvm/lib/Transforms/Vectorize/VPlanVerifier.h | 3 +-- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h b/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h index d777392..491dc08 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h +++ b/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h @@ -31,6 +31,8 @@ namespace llvm { +class LoopVectorizationLegality; +class LoopVectorizationCostModel; class PredicatedScalarEvolution; /// VPlan-based builder utility analogous to IRBuilder. diff --git a/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h b/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h index 3e1c132..6f055ca 100644 --- a/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h +++ b/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h @@ -18,7 +18,6 @@ namespace llvm { class LoopVectorizationLegality; class LoopVectorizationCostModel; -class TargetTransformInfo; class TargetLibraryInfo; /// Helper class to create VPRecipies from IR instructions. diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h index dbd70a6..cd8c129 100644 --- a/llvm/lib/Transforms/Vectorize/VPlan.h +++ b/llvm/lib/Transforms/Vectorize/VPlan.h @@ -48,8 +48,6 @@ namespace llvm { -class LoopVectorizationLegality; -class LoopVectorizationCostModel; class BasicBlock; class DominatorTree; class InnerLoopVectorizer; @@ -59,6 +57,7 @@ class raw_ostream; class Value; class VPBasicBlock; class VPRegionBlock; +class VPSlotTracker; class VPlan; class VPlanSlp; @@ -1501,7 +1500,6 @@ struct GraphTraits> } }; -class VPSlotTracker; /// VPlan models a candidate for vectorization, encoding various decisions take /// to produce efficient output IR, including which branches, basic-blocks and /// output IR instructions to generate, and their cost. VPlan holds a diff --git a/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp b/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp index ab3e7e22..b384c94 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "VPlanVerifier.h" +#include "VPlan.h" #include "llvm/ADT/DepthFirstIterator.h" #include "llvm/Support/CommandLine.h" diff --git a/llvm/lib/Transforms/Vectorize/VPlanVerifier.h b/llvm/lib/Transforms/Vectorize/VPlanVerifier.h index 1c8fc89..8e8de44 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanVerifier.h +++ b/llvm/lib/Transforms/Vectorize/VPlanVerifier.h @@ -24,9 +24,8 @@ #ifndef LLVM_TRANSFORMS_VECTORIZE_VPLANVERIFIER_H #define LLVM_TRANSFORMS_VECTORIZE_VPLANVERIFIER_H -#include "VPlan.h" - namespace llvm { +class VPRegionBlock; /// Struct with utility functions that can be used to check the consistency and /// invariants of a VPlan, including the components of its H-CFG. -- 2.7.4