|
VapourSynth-llvmexpr
|
#include <llvmexpr/analysis/passes/DynamicArrayAllocOptPass.hpp>


Public Member Functions | |
| const char * | getName () const override |
| PreservedAnalyses | run (std::vector< Token > &tokens, AnalysisManager &am) override |
| Public Member Functions inherited from analysis::Pass | |
| Pass ()=default | |
| virtual | ~Pass ()=default |
| Pass (const Pass &)=delete | |
| Pass & | operator= (const Pass &)=delete |
| Pass (Pass &&)=delete | |
| Pass & | operator= (Pass &&)=delete |
Eliminates redundant dynamic array allocations. If between two allocations of the same array, there are no reads or writes to that array on all possible control flow paths, the first allocation is replaced with a DROP instruction to maintain stack effects.
Depends on: BlockAnalysisPass, BuildCFGPass
Definition at line 36 of file DynamicArrayAllocOptPass.hpp.
|
inlinenodiscardoverridevirtual |
Implements analysis::Pass.
Definition at line 38 of file DynamicArrayAllocOptPass.hpp.
|
overridevirtual |
Implements analysis::TransformationPass.
Definition at line 123 of file DynamicArrayAllocOptPass.cpp.
References analysis::PreservedAnalyses::all(), ArrayAllocDyn, Drop, analysis::AnalysisManager::getResult(), and analysis::PreservedAnalyses::none().