[all-commits] [llvm/llvm-project] fe799c: [MustExecute] Forward iterate over conditional bra...
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Wed Oct 30 22:07:19 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: fe799c97fae0729e5952c6a8edf41e67bf60048f
https://github.com/llvm/llvm-project/commit/fe799c97fae0729e5952c6a8edf41e67bf60048f
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2019-10-31 (Thu, 31 Oct 2019)
Changed paths:
M llvm/include/llvm/Analysis/MustExecute.h
M llvm/lib/Analysis/MustExecute.cpp
M llvm/test/Analysis/MustExecute/must_be_executed_context.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
Log Message:
-----------
[MustExecute] Forward iterate over conditional branches
Summary:
If a conditional branch is encountered we can try to find a join block
where the execution is known to continue. This means finding a suitable
block, e.g., the immediate post dominator of the conditional branch, and
proofing control will always reach that block.
This patch implements different techniques that work with and without
provided analysis.
Reviewers: uenoku, sstefan1, hfinkel
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68933
More information about the All-commits
mailing list