[PATCH] D68933: [MustExecute] Forward iterate over conditional branches

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 13 23:34:36 PDT 2019


jdoerfert created this revision.
jdoerfert added reviewers: uenoku, sstefan1, hfinkel.
Herald added subscribers: bollu, hiraditya.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D68933

Files:
  llvm/include/llvm/Analysis/MustExecute.h
  llvm/lib/Analysis/MustExecute.cpp
  llvm/test/Analysis/MustExecute/must_be_executed_context.ll
  llvm/test/Transforms/FunctionAttrs/nonnull.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68933.224811.patch
Type: text/x-patch
Size: 11145 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191014/1ec55c25/attachment.bin>


More information about the llvm-commits mailing list