[NFC] Introduce ICFLoopSafetyInfo
authorMax Kazantsev <max.kazantsev@azul.com>
Tue, 16 Oct 2018 09:58:09 +0000 (09:58 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Tue, 16 Oct 2018 09:58:09 +0000 (09:58 +0000)
commit5f9acd279e8fe9ebaa354e8b2294d6a85234c24f
tree64637ceafa5f069daf69b923f6831ac85c1915d5
parent7d27cfdcb28df8d8a6e9b06082af0f326f1e2f77
[NFC] Introduce ICFLoopSafetyInfo

This is an alternative implementation of LoopSafetyInfo that uses the implicit
control flow tracking to give precise answers on queries "whether or not this
block contains throwing instructions". This rules out false-positive answers on
LoopSafetyInfo's queries.

This patch only introduces the new implementation. It is not currently used in
any pass. The enabling patches will go separately, through review.

The plan is to completely replace all uses of LoopSafetyInfo with
ICFLoopSafetyInfo in the future, but to avoid introducing functional problems,
we will do it pass by pass.

llvm-svn: 344601
llvm/include/llvm/Analysis/MustExecute.h
llvm/lib/Analysis/MustExecute.cpp