@@ -2061,51 +2061,6 @@ struct LoopFuser {
2061
2061
return FC0.L ;
2062
2062
}
2063
2063
};
2064
-
2065
- struct LoopFuseLegacy : public FunctionPass {
2066
-
2067
- static char ID;
2068
-
2069
- LoopFuseLegacy () : FunctionPass(ID) {
2070
- initializeLoopFuseLegacyPass (*PassRegistry::getPassRegistry ());
2071
- }
2072
-
2073
- void getAnalysisUsage (AnalysisUsage &AU) const override {
2074
- AU.addRequiredID (LoopSimplifyID);
2075
- AU.addRequired <ScalarEvolutionWrapperPass>();
2076
- AU.addRequired <LoopInfoWrapperPass>();
2077
- AU.addRequired <DominatorTreeWrapperPass>();
2078
- AU.addRequired <PostDominatorTreeWrapperPass>();
2079
- AU.addRequired <OptimizationRemarkEmitterWrapperPass>();
2080
- AU.addRequired <DependenceAnalysisWrapperPass>();
2081
- AU.addRequired <AssumptionCacheTracker>();
2082
- AU.addRequired <TargetTransformInfoWrapperPass>();
2083
-
2084
- AU.addPreserved <ScalarEvolutionWrapperPass>();
2085
- AU.addPreserved <LoopInfoWrapperPass>();
2086
- AU.addPreserved <DominatorTreeWrapperPass>();
2087
- AU.addPreserved <PostDominatorTreeWrapperPass>();
2088
- }
2089
-
2090
- bool runOnFunction (Function &F) override {
2091
- if (skipFunction (F))
2092
- return false ;
2093
-
2094
- auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo ();
2095
- auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree ();
2096
- auto &DI = getAnalysis<DependenceAnalysisWrapperPass>().getDI ();
2097
- auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE ();
2098
- auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree ();
2099
- auto &ORE = getAnalysis<OptimizationRemarkEmitterWrapperPass>().getORE ();
2100
- auto &AC = getAnalysis<AssumptionCacheTracker>().getAssumptionCache (F);
2101
- const TargetTransformInfo &TTI =
2102
- getAnalysis<TargetTransformInfoWrapperPass>().getTTI (F);
2103
- const DataLayout &DL = F.getParent ()->getDataLayout ();
2104
-
2105
- LoopFuser LF (LI, DT, DI, SE, PDT, ORE, DL, AC, TTI);
2106
- return LF.fuseLoops (F);
2107
- }
2108
- };
2109
2064
} // namespace
2110
2065
2111
2066
PreservedAnalyses LoopFusePass::run (Function &F, FunctionAnalysisManager &AM) {
@@ -2142,19 +2097,3 @@ PreservedAnalyses LoopFusePass::run(Function &F, FunctionAnalysisManager &AM) {
2142
2097
PA.preserve <LoopAnalysis>();
2143
2098
return PA;
2144
2099
}
2145
-
2146
- char LoopFuseLegacy::ID = 0 ;
2147
-
2148
- INITIALIZE_PASS_BEGIN (LoopFuseLegacy, " loop-fusion" , " Loop Fusion" , false ,
2149
- false )
2150
- INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass)
2151
- INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass)
2152
- INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
2153
- INITIALIZE_PASS_DEPENDENCY(DependenceAnalysisWrapperPass)
2154
- INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass)
2155
- INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass)
2156
- INITIALIZE_PASS_DEPENDENCY(AssumptionCacheTracker)
2157
- INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass)
2158
- INITIALIZE_PASS_END(LoopFuseLegacy, " loop-fusion" , " Loop Fusion" , false , false )
2159
-
2160
- FunctionPass *llvm::createLoopFusePass() { return new LoopFuseLegacy (); }
0 commit comments