Lines Matching defs:FusionCandidate
145 struct FusionCandidate { struct
151 BasicBlock *Preheader;
153 BasicBlock *Header;
155 BasicBlock *ExitingBlock;
157 BasicBlock *ExitBlock;
159 BasicBlock *Latch;
161 Loop *L;
163 SmallVector<Instruction *, 16> MemReads;
165 SmallVector<Instruction *, 16> MemWrites;
167 bool Valid;
169 BranchInst *GuardBranch;
171 TTI::PeelingPreferences PP;
173 bool AbleToPeel;
175 bool Peeled;
181 DominatorTree &DT;
182 const PostDominatorTree *PDT;
184 OptimizationRemarkEmitter &ORE;
186 FusionCandidate(Loop *L, DominatorTree &DT, const PostDominatorTree *PDT, in FusionCandidate() function
234 bool isValid() const { in isValid()
240 void verify() const { in verify()
256 BasicBlock *getEntryBlock() const { in getEntryBlock()
265 void updateAfterPeeling() { in updateAfterPeeling()
281 BasicBlock *getNonLoopBlock() const { in getNonLoopBlock()
293 LLVM_DUMP_METHOD void dump() const { in dump()
318 bool isEligibleForFusion(ScalarEvolution &SE) const { in isEligibleForFusion()
365 void invalidate() { in invalidate()
371 bool reportInvalidCandidate(llvm::Statistic &Stat) const { in reportInvalidCandidate()