9 #ifndef MLIR_DIALECT_BUFFERIZATION_TRANSFORMS_BUFFERVIEWFLOWANALYSIS_H
10 #define MLIR_DIALECT_BUFFERIZATION_TRANSFORMS_BUFFERVIEWFLOWANALYSIS_H
13 #include "llvm/ADT/SmallPtrSet.h"
33 return dependencies.find(value);
37 ValueMapT::const_iterator
begin()
const {
return dependencies.begin(); }
40 ValueMapT::const_iterator
end()
const {
return dependencies.end(); }
An is-same-buffer analysis that checks if two SSA values belong to the same buffer allocation or not.
BufferOriginAnalysis(Operation *op)
std::optional< bool > isSameAllocation(Value v1, Value v2)
Return "true" if v1 and v2 originate from the same buffer allocation.
A straight-forward alias analysis which ensures that all dependencies of all values will be determine...
ValueMapT::const_iterator end() const
Returns the end iterator that can be used in combination with find.
SmallPtrSet< Value, 16 > ValueSetT
BufferViewFlowAnalysis(Operation *op)
Constructs a new alias analysis using the op provided.
ValueMapT::const_iterator begin() const
Returns the begin iterator to iterate over all dependencies.
void remove(const SetVector< Value > &aliasValues)
Removes the given values from all alias sets.
ValueSetT resolve(Value value) const
Find all immediate and indirect views upon this value.
llvm::DenseMap< Value, ValueSetT > ValueMapT
void rename(Value from, Value to)
Replaces all occurrences of 'from' in the internal datastructures with 'to'.
bool mayBeTerminalBuffer(Value value) const
Returns "true" if the given value may be a terminal.
ValueSetT resolveReverse(Value value) const
ValueMapT::const_iterator find(Value value) const
Find all immediate dependencies this value could potentially have.
Operation is the basic unit of execution within MLIR.
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Include the generated interface declarations.