|
MLIR 23.0.0git
|
Classes | |
| struct | AxisInfo |
| Per-dimension axis information for an SSA vector value of integer / index type. More... | |
| class | AxisInfoAnalysis |
| Sparse forward dataflow analysis that computes AxisInfo for vector values reachable from the entry of the analyzed op. More... | |
Typedefs | |
| using | AxisInfoLattice = dataflow::Lattice<AxisInfo> |
Functions | |
| static int64_t | highestPow2Divisor (int64_t v) |
| Power-of-two divisor of v. Returns kAxisInfoTop when v == 0. | |
| static AxisInfo | entryStateFor (Value v) |
| Initial lattice value for an SSA value when no transfer function applies. | |
| static AxisInfo | splatAxisInfo (ArrayRef< int64_t > shape, int64_t c) |
| AxisInfo for a tensor that is constant c everywhere. | |
Variables | |
| static constexpr int64_t | kAxisInfoTop = 1LL << 30 |
| Sentinel "very large" value for unconstrained dimensions. | |
Definition at line 160 of file XeGPUContiguityAnalysis.cpp.
Initial lattice value for an SSA value when no transfer function applies.
Definition at line 171 of file XeGPUContiguityAnalysis.cpp.
References mlir::xegpu::detail::axis_dataflow::AxisInfo::getPessimistic(), and mlir::Value::getType().
Referenced by mlir::xegpu::detail::axis_dataflow::AxisInfoAnalysis::setToEntryState().
Power-of-two divisor of v. Returns kAxisInfoTop when v == 0.
Definition at line 163 of file XeGPUContiguityAnalysis.cpp.
References kAxisInfoTop.
Referenced by splatAxisInfo().
|
static |
AxisInfo for a tensor that is constant c everywhere.
Definition at line 178 of file XeGPUContiguityAnalysis.cpp.
References mlir::xegpu::detail::axis_dataflow::AxisInfo::constancy, mlir::xegpu::detail::axis_dataflow::AxisInfo::contiguity, mlir::xegpu::detail::axis_dataflow::AxisInfo::divisibility, highestPow2Divisor(), mlir::xegpu::detail::axis_dataflow::AxisInfo::innerStride, and mlir::xegpu::detail::axis_dataflow::AxisInfo::knownConstant.
|
staticconstexpr |
Sentinel "very large" value for unconstrained dimensions.
Any real shape is far smaller, so component-wise min collapses this to the truth. It is not numeric_limits<int64_t>::max() because divisibility values are multiplied (e.g. in visitMul); 1 << 30 keeps those products well within int64_t.
Definition at line 59 of file XeGPUContiguityAnalysis.cpp.
Referenced by highestPow2Divisor().