Lines Matching refs:SafetyInfo
85 const LICMSafetyInfo *SafetyInfo);
90 const LICMSafetyInfo *SafetyInfo,
102 LICMSafetyInfo *SafetyInfo);
236 LICMSafetyInfo SafetyInfo; in runOnLoop() local
237 computeLICMSafetyInfo(&SafetyInfo, CurLoop); in runOnLoop()
251 CurAST, &SafetyInfo); in runOnLoop()
254 CurLoop, CurAST, &SafetyInfo); in runOnLoop()
268 CurAST, &SafetyInfo); in runOnLoop()
309 AliasSetTracker *CurAST, LICMSafetyInfo *SafetyInfo) { in sinkRegion() argument
314 SafetyInfo != nullptr && "Unexpected input to sinkRegion"); in sinkRegion()
327 sinkRegion(Children[i], AA, LI, DT, TLI, CurLoop, CurAST, SafetyInfo); in sinkRegion()
352 canSinkOrHoistInst(I, AA, DT, TLI, CurLoop, CurAST, SafetyInfo)) { in sinkRegion()
367 AliasSetTracker *CurAST, LICMSafetyInfo *SafetyInfo) { in hoistRegion() argument
371 SafetyInfo != nullptr && "Unexpected input to hoistRegion"); in hoistRegion()
401 canSinkOrHoistInst(I, AA, DT, TLI, CurLoop, CurAST, SafetyInfo) && in hoistRegion()
402 isSafeToExecuteUnconditionally(I, DT, TLI, CurLoop, SafetyInfo, in hoistRegion()
410 hoistRegion(Children[i], AA, LI, DT, TLI, CurLoop, CurAST, SafetyInfo); in hoistRegion()
417 void llvm::computeLICMSafetyInfo(LICMSafetyInfo * SafetyInfo, Loop * CurLoop) { in computeLICMSafetyInfo() argument
421 SafetyInfo->MayThrow = false; in computeLICMSafetyInfo()
422 SafetyInfo->HeaderMayThrow = false; in computeLICMSafetyInfo()
425 (I != E) && !SafetyInfo->HeaderMayThrow; ++I) in computeLICMSafetyInfo()
426 SafetyInfo->HeaderMayThrow |= I->mayThrow(); in computeLICMSafetyInfo()
428 SafetyInfo->MayThrow = SafetyInfo->HeaderMayThrow; in computeLICMSafetyInfo()
431 BBE = CurLoop->block_end(); (BB != BBE) && !SafetyInfo->MayThrow ; ++BB) in computeLICMSafetyInfo()
433 (I != E) && !SafetyInfo->MayThrow; ++I) in computeLICMSafetyInfo()
434 SafetyInfo->MayThrow |= I->mayThrow(); in computeLICMSafetyInfo()
442 AliasSetTracker *CurAST, LICMSafetyInfo *SafetyInfo) { in canSinkOrHoistInst() argument
516 return isSafeToExecuteUnconditionally(I, DT, TLI, CurLoop, SafetyInfo, in canSinkOrHoistInst()
692 const LICMSafetyInfo *SafetyInfo, in isSafeToExecuteUnconditionally() argument
697 return isGuaranteedToExecute(Inst, DT, CurLoop, SafetyInfo); in isSafeToExecuteUnconditionally()
703 const LICMSafetyInfo * SafetyInfo) { in isGuaranteedToExecute() argument
715 return !SafetyInfo->HeaderMayThrow; in isGuaranteedToExecute()
719 if (SafetyInfo->MayThrow) in isGuaranteedToExecute()
829 LICMSafetyInfo * SafetyInfo) { in promoteLoopAccessesToScalars() argument
833 SafetyInfo != nullptr && in promoteLoopAccessesToScalars()
925 if (isGuaranteedToExecute(*UI, DT, CurLoop, SafetyInfo)) { in promoteLoopAccessesToScalars()
932 CurLoop, SafetyInfo); in promoteLoopAccessesToScalars()