Extend StackLifetime with option to calculate liveliness
where alloca is only considered alive on basic block entry
if all non-dead predecessors had it alive at terminators.
Depends on D82043.
Paths
| Differential D82124
[StackSafety] Add "Must Live" logic ClosedPublic Authored by vitalybuka on Jun 18 2020, 1:35 PM.
Details
Summary Extend StackLifetime with option to calculate liveliness Depends on D82043.
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Jun 18 2020, 4:36 PM Closed by commit rGfcd67665a8de: [StackSafety] Add "Must Live" logic (authored by vitalybuka). · Explain WhyJun 18 2020, 4:59 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 271883 llvm/include/llvm/Analysis/StackLifetime.h
llvm/lib/Analysis/StackLifetime.cpp
llvm/lib/CodeGen/SafeStack.cpp
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassRegistry.def
llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
|
It would be nicer to make it a parametrized pass, something like this:
And turn the bool argument into an enum with named options.