llvm-project/llvm/test/Analysis/StackSafetyAnalysis
Vitaly Buka 01f3e2d619 [StackLifetime] More efficient loop for LivenessType::Must
CFG with cycles may requires additional passes of "while (Changed)"
iteration if to propagate data back from latter blocks to earlier blocks,
ordered according to depth_fist.

OR logic, used for ::May, converge to stable state faster then AND logic
use for ::Must.

Though the better solution is to switch to some some form of queue, but
having that this one is good enough, I will consider to do that later.

We can switch ::Must to OR logic if we calculate "may be dead" instead
of direct "must be alive" and then convert values to match existing
interface.

Additionally it fixes correctness in "@cycle" test.

Reviewed By: kstoimenov, fmayer

Differential Revision: https://reviews.llvm.org/D134796
2022-09-28 16:28:45 -07:00
..
Inputs
i386-bug-fix.ll
ipa-alias.ll LTO: Decide upfront whether to use opaque/non-opaque pointer types 2022-06-01 18:05:53 -07:00
ipa.ll LTO: Decide upfront whether to use opaque/non-opaque pointer types 2022-06-01 18:05:53 -07:00
lifetime.ll [StackLifetime] More efficient loop for LivenessType::Must 2022-09-28 16:28:45 -07:00
local.ll [stack-safety] Check SCEV constraints at memory instructions. 2021-11-23 15:29:23 -08:00
memintrin.ll [stack-safety] Check SCEV constraints at memory instructions. 2021-11-23 15:29:23 -08:00