Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces
authorJakub Staszak <kubastaszak@gmail.com>
Sat, 7 Dec 2013 21:20:17 +0000 (21:20 +0000)
committerJakub Staszak <kubastaszak@gmail.com>
Sat, 7 Dec 2013 21:20:17 +0000 (21:20 +0000)
overall time of LLVM compilation by ~1%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196667 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/LoopInfo.h
include/llvm/Analysis/LoopInfoImpl.h
include/llvm/CodeGen/MachineLoopInfo.h
lib/Analysis/ScalarEvolutionExpander.cpp
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
lib/Transforms/Scalar/LoopRerollPass.cpp
lib/Transforms/Scalar/LoopRotation.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
lib/Transforms/Utils/LoopUnroll.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp

index 582c97cf5692f3ebce4636c41099a0a866461449..0fb21aa4e41af8834a835352e82883a8fea19b66 100644 (file)
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/GraphTraits.h"
+#include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/SmallVector.h"
-#include "llvm/Analysis/Dominators.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/Support/CFG.h"
 #include "llvm/Pass.h"
 #include <algorithm>
 
@@ -53,6 +55,7 @@ class Loop;
 class MDNode;
 class PHINode;
 class raw_ostream;
+template<class N> class DominatorTreeBase;
 template<class N, class M> class LoopInfoBase;
 template<class N, class M> class LoopBase;
 
index c98cb589108bc0a1217daf9d4a344b34b2223e05..934f7cf9a097ee2180e8068c38432c9c6ab2e560 100644 (file)
 #ifndef LLVM_ANALYSIS_LOOPINFOIMPL_H
 #define LLVM_ANALYSIS_LOOPINFOIMPL_H
 
+#include "llvm/ADT/DepthFirstIterator.h"
 #include "llvm/ADT/PostOrderIterator.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopInfo.h"
 
 namespace llvm {
index b058ecb4c27981c5f7b72a21e5627945ceab9264..4b8e245840ca36bef8dfde4a3638104347f49bc7 100644 (file)
@@ -31,6 +31,7 @@
 #define LLVM_CODEGEN_MACHINELOOPINFO_H
 
 #include "llvm/Analysis/LoopInfo.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 
 namespace llvm {
index ca7c73fa65253879e227dd1abffa69a6676ff21b..7a9efdaa4c242b00ada86b61a76ab0b3f56fe3d4 100644 (file)
@@ -16,6 +16,7 @@
 #include "llvm/Analysis/ScalarEvolutionExpander.h"
 #include "llvm/ADT/SmallSet.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopInfo.h"
 #include "llvm/Analysis/TargetTransformInfo.h"
 #include "llvm/IR/DataLayout.h"
index 952b76b822cfe0e24e2b963ab98afde017055ca5..39ac14e326a3e5e46473448a8fc6f65c91d6e236 100644 (file)
@@ -45,6 +45,7 @@
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolutionExpander.h"
 #include "llvm/Analysis/ScalarEvolutionExpressions.h"
index 335af81b957a63a70a3e3688b5ff3cc18e7cd168..db0c765cefdb6b0234c1e6c06b0f27f8cbec5022 100644 (file)
@@ -18,6 +18,7 @@
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Analysis/AliasAnalysis.h"
 #include "llvm/Analysis/AliasSetTracker.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolution.h"
 #include "llvm/Analysis/ScalarEvolutionExpander.h"
index 18aeb03253ee8affc8424bd7561b796a995c5076..808c21b438b13be149992542118dc5920cd8e9aa 100644 (file)
@@ -15,6 +15,7 @@
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Analysis/CodeMetrics.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/InstructionSimplify.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolution.h"
index 7cbd6d3189ba4c4cb8d9a805153c2fdbb682bc77..1d43efcc70faf4ebf2c0a79bfca24115993a45f1 100644 (file)
@@ -15,6 +15,7 @@
 #define DEBUG_TYPE "loop-unroll"
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Analysis/CodeMetrics.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolution.h"
 #include "llvm/Analysis/TargetTransformInfo.h"
index 162807d03c624a6dfeb1949ca738acbb1be5f5bb..e2da1f40b27f1eef67578321fb4cad571b49a6b4 100644 (file)
@@ -19,6 +19,7 @@
 #define DEBUG_TYPE "loop-unroll"
 #include "llvm/Transforms/Utils/UnrollLoop.h"
 #include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/InstructionSimplify.h"
 #include "llvm/Analysis/LoopIterator.h"
 #include "llvm/Analysis/LoopPass.h"
index aa75101c61b3ce7e5f7febb54b327b91849f0354..f735c9e747023b3d0561b19a7ed9a8dbca188a7a 100644 (file)
@@ -23,6 +23,7 @@
 #include "llvm/ADT/PostOrderIterator.h"
 #include "llvm/ADT/SetVector.h"
 #include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/ScalarEvolution.h"
 #include "llvm/Analysis/ScalarEvolutionExpressions.h"
 #include "llvm/Analysis/TargetTransformInfo.h"