[all-commits] [llvm/llvm-project] 70c68a: [NFC] Factor out utilities for manipulating widena...
Philip Reames via All-commits
all-commits at lists.llvm.org
Tue Nov 19 14:46:30 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 70c68a6b0e515967dba5b30f6a60e220a8cd8d2c
https://github.com/llvm/llvm-project/commit/70c68a6b0e515967dba5b30f6a60e220a8cd8d2c
Author: Philip Reames <listmail at philipreames.com>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
M llvm/include/llvm/Analysis/GuardUtils.h
M llvm/include/llvm/Transforms/Utils/GuardUtils.h
M llvm/lib/Analysis/GuardUtils.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/LoopPredication.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
Log Message:
-----------
[NFC] Factor out utilities for manipulating widenable branches
With the widenable condition construct, we have the ability to reason about branches which can be 'widened' (i.e. made to fail more often). We've got a couple o transforms which leverage this. This patch just cleans up the API a bit.
This is prep work for generalizing our definition of a widenable branch slightly. At the moment "br i1 (and A, wc()), ..." is considered widenable, but oddly, neither "br i1 (and wc(), B), ..." or "br i1 wc(), ..." is. That clearly needs addressed, so first, let's centralize the code in one place.
More information about the All-commits
mailing list