This is an archive of the discontinued LLVM Phabricator instance.

[ExplicitGuards][NFC] API for explicit guards recognition
AbandonedPublic

Authored by mkazantsev on Sep 4 2018, 2:43 AM.

Details

Summary

This patch adds some functions that can distinguish guards represented as
explicit branches and usual explicit branches.

Diff Detail

Event Timeline

mkazantsev planned changes to this revision.Sep 4 2018, 2:56 AM
mkazantsev retitled this revision from [ExplicitGuards][NFC] API for explicit guards recognition to [ExplicitGuards] API for explicit guards recognition.

Need to add tests on passes that use isGuard to see how they feel about it. Needs rework.

mkazantsev updated this revision to Diff 163775.Sep 4 2018, 3:20 AM
mkazantsev retitled this revision from [ExplicitGuards] API for explicit guards recognition to [ExplicitGuards][NFC] API for explicit guards recognition.

Now this is an NFC. We will visit every place where explicit guards need enabling independently.

fedor.sergeev added inline comments.Sep 4 2018, 10:09 PM
include/llvm/Analysis/GuardUtils.h
33

*if* we can prove

36

Hmm... perhaps its coffee time, but I cant draw a line between the function name and its functionality.
"Re"-executable?

mkazantsev added inline comments.Sep 5 2018, 3:17 AM
include/llvm/Analysis/GuardUtils.h
36

Re-executable is the same as "memory was not modified before it"... I need to think how to re-state it clearly.

fedor.sergeev added inline comments.Sep 5 2018, 4:05 AM
include/llvm/Analysis/GuardUtils.h
36

Do you really need it to be a public interface?

reames resigned from this revision.Mar 25 2020, 11:19 AM
mkazantsev abandoned this revision.Sep 24 2020, 2:59 AM