Lines Matching refs:Fn
58 bool runOnFunction(Function &Fn) override;
88 bool TLSVariableHoistLegacyPass::runOnFunction(Function &Fn) { in runOnFunction() argument
89 if (skipFunction(Fn)) in runOnFunction()
93 LLVM_DEBUG(dbgs() << "********** Function: " << Fn.getName() << '\n'); in runOnFunction()
96 Impl.runImpl(Fn, getAnalysis<DominatorTreeWrapperPass>().getDomTree(), in runOnFunction()
101 << Fn.getName() << '\n'); in runOnFunction()
102 LLVM_DEBUG(dbgs() << Fn); in runOnFunction()
125 void TLSVariableHoistPass::collectTLSCandidates(Function &Fn) { in collectTLSCandidates() argument
127 Module *M = Fn.getParent(); in collectTLSCandidates()
139 for (BasicBlock &BB : Fn) { in collectTLSCandidates()
192 BasicBlock::iterator TLSVariableHoistPass::findInsertPos(Function &Fn, in findInsertPos() argument
218 Instruction *TLSVariableHoistPass::genBitCastInst(Function &Fn, in genBitCastInst() argument
220 BasicBlock *PosBB = &Fn.getEntryBlock(); in genBitCastInst()
221 BasicBlock::iterator Iter = findInsertPos(Fn, GV, PosBB); in genBitCastInst()
228 bool TLSVariableHoistPass::tryReplaceTLSCandidate(Function &Fn, in tryReplaceTLSCandidate() argument
238 auto *CastInst = genBitCastInst(Fn, GV); in tryReplaceTLSCandidate()
247 bool TLSVariableHoistPass::tryReplaceTLSCandidates(Function &Fn) { in tryReplaceTLSCandidates() argument
254 Replaced |= tryReplaceTLSCandidate(Fn, GV); in tryReplaceTLSCandidates()
261 bool TLSVariableHoistPass::runImpl(Function &Fn, DominatorTree &DT, in runImpl() argument
263 if (Fn.hasOptNone()) in runImpl()
266 if (!TLSLoadHoist && !Fn.getAttributes().hasFnAttr("tls-load-hoist")) in runImpl()
274 collectTLSCandidates(Fn); in runImpl()
276 bool MadeChange = tryReplaceTLSCandidates(Fn); in runImpl()