Skip to content

Commit 5dd566b

Browse files
committed
PassManager.h - remove unnecessary Function.h/Module.h includes. NFCI.
PassManager.h is one of the top headers in the ClangBuildAnalyzer frontend worst offenders list. This exposes a large number of implicit dependencies on various forward declarations/includes in other headers that need addressing.
1 parent cbb3571 commit 5dd566b

32 files changed

+54
-16
lines changed

llvm/include/llvm/Analysis/DemandedBits.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class Function;
3636
class Instruction;
3737
struct KnownBits;
3838
class raw_ostream;
39+
class Use;
40+
class Value;
3941

4042
class DemandedBits {
4143
public:

llvm/include/llvm/Analysis/DominanceFrontier.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
namespace llvm {
3232

33+
class BasicBlock;
3334
class Function;
3435
class raw_ostream;
3536

llvm/include/llvm/Analysis/LazyValueInfo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
namespace llvm {
2121
class AssumptionCache;
22+
class BasicBlock;
2223
class Constant;
2324
class ConstantRange;
2425
class DataLayout;

llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
#include "llvm/ADT/Optional.h"
1818
#include "llvm/Analysis/BlockFrequencyInfo.h"
1919
#include "llvm/IR/DiagnosticInfo.h"
20+
#include "llvm/IR/Function.h"
2021
#include "llvm/IR/PassManager.h"
2122
#include "llvm/Pass.h"
2223

2324
namespace llvm {
24-
class Function;
2525
class Value;
2626

2727
/// The optimization diagnostic interface.

llvm/include/llvm/Analysis/ScalarEvolution.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include "llvm/IR/Function.h"
3636
#include "llvm/IR/InstrTypes.h"
3737
#include "llvm/IR/Instructions.h"
38+
#include "llvm/IR/Module.h"
3839
#include "llvm/IR/Operator.h"
3940
#include "llvm/IR/PassManager.h"
4041
#include "llvm/IR/ValueHandle.h"

llvm/include/llvm/IR/PassManager.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@
3939

4040
#include "llvm/ADT/DenseMap.h"
4141
#include "llvm/ADT/SmallPtrSet.h"
42+
#include "llvm/ADT/SmallVector.h"
4243
#include "llvm/ADT/StringRef.h"
4344
#include "llvm/ADT/TinyPtrVector.h"
44-
#include "llvm/IR/Function.h"
45-
#include "llvm/IR/Module.h"
4645
#include "llvm/IR/PassInstrumentation.h"
4746
#include "llvm/IR/PassManagerInternal.h"
4847
#include "llvm/Pass.h"
4948
#include "llvm/Support/Debug.h"
5049
#include "llvm/Support/TimeProfiler.h"
5150
#include "llvm/Support/TypeName.h"
51+
#include "llvm/Support/raw_ostream.h"
5252
#include <algorithm>
5353
#include <cassert>
5454
#include <cstring>
@@ -62,6 +62,9 @@
6262

6363
namespace llvm {
6464

65+
class Function;
66+
class Module;
67+
6568
/// A special type used by analysis passes to provide an address that
6669
/// identifies that particular analysis pass type.
6770
///

llvm/include/llvm/Transforms/IPO/HotColdSplitting.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
namespace llvm {
1818

19+
class BasicBlock;
1920
class Module;
2021
class ProfileSummaryInfo;
2122
class BlockFrequencyInfo;

llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
namespace llvm {
2323

2424
class AssumptionCache;
25+
class CallInst;
2526
class DominatorTree;
2627
class ScalarEvolution;
2728
class SCEV;
29+
class Value;
2830

2931
struct AlignmentFromAssumptionsPass
3032
: public PassInfoMixin<AlignmentFromAssumptionsPass> {

llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,15 @@ class BlockFrequencyInfo;
5353
class Constant;
5454
class ConstantInt;
5555
class ConstantExpr;
56+
class DataLayout;
5657
class DominatorTree;
5758
class Function;
5859
class GlobalVariable;
5960
class Instruction;
61+
class LLVMContext;
6062
class ProfileSummaryInfo;
6163
class TargetTransformInfo;
64+
class Type;
6265

6366
/// A private "module" namespace for types and utilities used by
6467
/// ConstantHoisting. These are implementation details and should not be used by

llvm/include/llvm/Transforms/Scalar/Reassociate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "llvm/ADT/DenseMap.h"
2626
#include "llvm/ADT/PostOrderIterator.h"
2727
#include "llvm/ADT/SetVector.h"
28+
#include "llvm/IR/Instruction.h"
2829
#include "llvm/IR/PassManager.h"
2930
#include "llvm/IR/ValueHandle.h"
3031
#include <deque>
@@ -35,7 +36,6 @@ class APInt;
3536
class BasicBlock;
3637
class BinaryOperator;
3738
class Function;
38-
class Instruction;
3939
class IRBuilderBase;
4040
class Value;
4141

llvm/include/llvm/Transforms/Utils/Debugify.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "llvm/Bitcode/BitcodeWriterPass.h"
1919
#include "llvm/IR/IRPrintingPasses.h"
2020
#include "llvm/IR/LegacyPassManager.h"
21+
#include "llvm/IR/Module.h"
2122
#include "llvm/IR/PassManager.h"
2223

2324
namespace llvm {

llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class BlockFrequencyInfo;
6868
class DemandedBits;
6969
class DominatorTree;
7070
class Function;
71+
class Instruction;
7172
class Loop;
7273
class LoopAccessInfo;
7374
class LoopInfo;

llvm/lib/Analysis/CallPrinter.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,17 @@
1414
//===----------------------------------------------------------------------===//
1515

1616
#include "llvm/Analysis/CallPrinter.h"
17+
#include "llvm/ADT/DenseMap.h"
18+
#include "llvm/ADT/SmallSet.h"
1719
#include "llvm/Analysis/BlockFrequencyInfo.h"
1820
#include "llvm/Analysis/BranchProbabilityInfo.h"
1921
#include "llvm/Analysis/CallGraph.h"
2022
#include "llvm/Analysis/DOTGraphTraitsPass.h"
2123
#include "llvm/Analysis/HeatUtils.h"
22-
#include "llvm/Support/CommandLine.h"
24+
#include "llvm/IR/Function.h"
25+
#include "llvm/IR/Module.h"
2326
#include "llvm/InitializePasses.h"
24-
#include "llvm/ADT/DenseMap.h"
25-
#include "llvm/ADT/SmallSet.h"
27+
#include "llvm/Support/CommandLine.h"
2628

2729
using namespace llvm;
2830

llvm/lib/Analysis/LoopPass.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "llvm/IR/Dominators.h"
1818
#include "llvm/IR/IRPrintingPasses.h"
1919
#include "llvm/IR/LLVMContext.h"
20+
#include "llvm/IR/Module.h"
2021
#include "llvm/IR/OptBisect.h"
2122
#include "llvm/IR/PassManager.h"
2223
#include "llvm/IR/PassTimingInfo.h"
@@ -25,6 +26,7 @@
2526
#include "llvm/Support/TimeProfiler.h"
2627
#include "llvm/Support/Timer.h"
2728
#include "llvm/Support/raw_ostream.h"
29+
2830
using namespace llvm;
2931

3032
#define DEBUG_TYPE "loop-pass-manager"

llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "llvm/CodeGen/MachineModuleInfo.h"
2121
#include "llvm/CodeGen/TargetSubtargetInfo.h"
2222
#include "llvm/IR/DebugInfo.h"
23+
#include "llvm/IR/Function.h"
2324
#include "llvm/MC/MCStreamer.h"
2425
#include "llvm/Support/CommandLine.h"
2526

llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
#include "llvm/CodeGen/MachineModuleInfo.h"
1818
#include "llvm/CodeGen/MachineOperand.h"
1919
#include "llvm/IR/Constants.h"
20-
#include "llvm/IR/Metadata.h"
2120
#include "llvm/IR/Instructions.h"
21+
#include "llvm/IR/Metadata.h"
22+
#include "llvm/IR/Module.h"
2223
#include "llvm/MC/MCAsmInfo.h"
2324
#include "llvm/MC/MCObjectFileInfo.h"
2425
#include "llvm/MC/MCStreamer.h"

llvm/lib/CodeGen/CFGuardLongjmp.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "llvm/CodeGen/MachineModuleInfo.h"
2222
#include "llvm/CodeGen/MachineOperand.h"
2323
#include "llvm/CodeGen/Passes.h"
24+
#include "llvm/IR/Module.h"
2425
#include "llvm/InitializePasses.h"
2526

2627
using namespace llvm;

llvm/lib/CodeGen/MachineSizeOpts.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
//===----------------------------------------------------------------------===//
1313

1414
#include "llvm/CodeGen/MachineSizeOpts.h"
15-
#include "llvm/CodeGen/MBFIWrapper.h"
1615
#include "llvm/Analysis/ProfileSummaryInfo.h"
16+
#include "llvm/CodeGen/MBFIWrapper.h"
1717
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
18+
#include "llvm/IR/Function.h"
1819

1920
using namespace llvm;
2021

llvm/lib/CodeGen/RegAllocBase.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "llvm/CodeGen/Spiller.h"
2424
#include "llvm/CodeGen/TargetRegisterInfo.h"
2525
#include "llvm/CodeGen/VirtRegMap.h"
26+
#include "llvm/IR/Module.h"
2627
#include "llvm/Pass.h"
2728
#include "llvm/Support/CommandLine.h"
2829
#include "llvm/Support/Debug.h"

llvm/lib/CodeGen/WinEHPrepare.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "llvm/CodeGen/MachineBasicBlock.h"
2525
#include "llvm/CodeGen/Passes.h"
2626
#include "llvm/CodeGen/WinEHFuncInfo.h"
27+
#include "llvm/IR/Module.h"
2728
#include "llvm/IR/Verifier.h"
2829
#include "llvm/InitializePasses.h"
2930
#include "llvm/MC/MCSymbol.h"

llvm/lib/IR/PassManager.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88

99
#include "llvm/IR/PassManager.h"
1010
#include "llvm/ADT/STLExtras.h"
11+
#include "llvm/IR/Function.h"
1112
#include "llvm/IR/LLVMContext.h"
13+
#include "llvm/IR/Module.h"
1214
#include "llvm/IR/PassManagerImpl.h"
1315

1416
using namespace llvm;

llvm/lib/Linker/IRMover.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616
#include "llvm/IR/DiagnosticPrinter.h"
1717
#include "llvm/IR/GVMaterializer.h"
1818
#include "llvm/IR/Intrinsics.h"
19+
#include "llvm/IR/Module.h"
1920
#include "llvm/IR/TypeFinder.h"
2021
#include "llvm/Support/Error.h"
2122
#include "llvm/Transforms/Utils/Cloning.h"
2223
#include <utility>
24+
2325
using namespace llvm;
2426

2527
//===----------------------------------------------------------------------===//

llvm/lib/Target/BPF/BTFDebug.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "llvm/BinaryFormat/ELF.h"
1818
#include "llvm/CodeGen/AsmPrinter.h"
1919
#include "llvm/CodeGen/MachineModuleInfo.h"
20+
#include "llvm/IR/Module.h"
2021
#include "llvm/MC/MCContext.h"
2122
#include "llvm/MC/MCObjectFileInfo.h"
2223
#include "llvm/MC/MCSectionELF.h"

llvm/lib/Target/TargetMachine.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
#include "llvm/IR/GlobalVariable.h"
1919
#include "llvm/IR/LegacyPassManager.h"
2020
#include "llvm/IR/Mangler.h"
21+
#include "llvm/IR/Module.h"
2122
#include "llvm/MC/MCAsmInfo.h"
2223
#include "llvm/MC/MCContext.h"
2324
#include "llvm/MC/MCInstrInfo.h"
2425
#include "llvm/MC/MCSectionMachO.h"
2526
#include "llvm/MC/MCTargetOptions.h"
2627
#include "llvm/MC/SectionKind.h"
2728
#include "llvm/Target/TargetLoweringObjectFile.h"
29+
2830
using namespace llvm;
2931

3032
//---------------------------------------------------------------------------

llvm/lib/Transforms/Instrumentation/CGProfile.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@
77
//===----------------------------------------------------------------------===//
88

99
#include "llvm/Transforms/Instrumentation/CGProfile.h"
10-
1110
#include "llvm/ADT/MapVector.h"
1211
#include "llvm/Analysis/BlockFrequencyInfo.h"
1312
#include "llvm/Analysis/LazyBlockFrequencyInfo.h"
1413
#include "llvm/Analysis/TargetTransformInfo.h"
1514
#include "llvm/IR/Constants.h"
1615
#include "llvm/IR/Instructions.h"
1716
#include "llvm/IR/MDBuilder.h"
17+
#include "llvm/IR/Module.h"
1818
#include "llvm/IR/PassManager.h"
1919
#include "llvm/InitializePasses.h"
2020
#include "llvm/ProfileData/InstrProf.h"
2121
#include "llvm/Transforms/Instrumentation.h"
22-
2322
#include <array>
2423

2524
using namespace llvm;

llvm/lib/Transforms/Scalar/ConstantHoisting.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
#include "llvm/IR/Instruction.h"
5353
#include "llvm/IR/Instructions.h"
5454
#include "llvm/IR/IntrinsicInst.h"
55+
#include "llvm/IR/Module.h"
5556
#include "llvm/IR/Value.h"
5657
#include "llvm/InitializePasses.h"
5758
#include "llvm/Pass.h"

llvm/lib/Transforms/Scalar/StructurizeCFG.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "llvm/IR/Instruction.h"
2929
#include "llvm/IR/Instructions.h"
3030
#include "llvm/IR/Metadata.h"
31+
#include "llvm/IR/Module.h"
3132
#include "llvm/IR/PatternMatch.h"
3233
#include "llvm/IR/Type.h"
3334
#include "llvm/IR/Use.h"

llvm/lib/Transforms/Utils/Debugify.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "llvm/IR/InstIterator.h"
2020
#include "llvm/IR/Instructions.h"
2121
#include "llvm/IR/IntrinsicInst.h"
22-
#include "llvm/IR/Module.h"
2322
#include "llvm/Pass.h"
2423
#include "llvm/Support/CommandLine.h"
2524

llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88

99
#include "llvm/ADT/DenseMap.h"
1010
#include "llvm/Analysis/CFG.h"
11-
#include "llvm/Transforms/Utils/Local.h"
1211
#include "llvm/IR/Function.h"
1312
#include "llvm/IR/Instructions.h"
13+
#include "llvm/IR/Module.h"
1414
#include "llvm/IR/Type.h"
1515
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
16+
#include "llvm/Transforms/Utils/Local.h"
17+
1618
using namespace llvm;
1719

1820
/// DemoteRegToStack - This function takes a virtual register computed by an

llvm/lib/Transforms/Utils/LowerSwitch.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "llvm/IR/Function.h"
2727
#include "llvm/IR/InstrTypes.h"
2828
#include "llvm/IR/Instructions.h"
29+
#include "llvm/IR/Module.h"
2930
#include "llvm/IR/Value.h"
3031
#include "llvm/InitializePasses.h"
3132
#include "llvm/Pass.h"

llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "llvm/Analysis/AssumptionCache.h"
109
#include "llvm/Analysis/AssumeBundleQueries.h"
10+
#include "llvm/Analysis/AssumptionCache.h"
1111
#include "llvm/AsmParser/Parser.h"
12-
#include "llvm/IR/LLVMContext.h"
1312
#include "llvm/IR/IntrinsicInst.h"
13+
#include "llvm/IR/LLVMContext.h"
14+
#include "llvm/IR/Module.h"
15+
#include "llvm/Support/CommandLine.h"
1416
#include "llvm/Support/Regex.h"
1517
#include "llvm/Support/SourceMgr.h"
16-
#include "llvm/Support/CommandLine.h"
1718
#include "llvm/Transforms/Utils/AssumeBundleBuilder.h"
1819
#include "gtest/gtest.h"
1920
#include <random>

llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "llvm/IR/BasicBlock.h"
1616
#include "llvm/IR/Dominators.h"
1717
#include "llvm/IR/LLVMContext.h"
18+
#include "llvm/IR/Module.h"
1819
#include "llvm/Support/SourceMgr.h"
1920
#include "gtest/gtest.h"
2021

0 commit comments

Comments
 (0)