#include <optional>#include <fe/worklist.h>#include <mim/lam.h>#include <mim/tuple.h>#include <mim/world.h>#include "mim/plug/tensor/autogen.h"Go to the source code of this file.
Classes | |
| struct | mim::plug::tensor::PureRead |
| A pure re-indexed read: the source tensor, the access map into it (over the read's output coordinates), and the source's element type/rank/shape. More... | |
Namespaces | |
| namespace | mim |
| namespace | mim::plug |
| namespace | mim::plug::tensor |
| The tensor Plugin | |
Functions | |
| bool | mim::plug::tensor::is_copy_comb (const Def *comb) |
| Recognizes the (rebuilt) tensor_copy combiner (acc, ys) ↦ ys#0: the result is exactly the single input element, so a map_reduce built on it is a pure re-indexed read of that input. | |
| bool | mim::plug::tensor::is_identity_post (const Def *post) |
| Is post the (rebuilt) CPS identity tensor.id, i.e. | |
| std::optional< PureRead > | mim::plug::tensor::is_pure_read (const Def *value) |
| If value is a pure re-indexed read — a copy-combiner map_reduce without reduction loops that writes its full loop domain through the identity output map (reshape/transpose/slice/flip/repeat lower to these) — returns its single access map and source. | |
| const Def * | mim::plug::tensor::op_get (const Def *T, const Def *r, const Def *s, const Def *arr, const Def *index) |
| const Def * | mim::plug::tensor::op_set (const Def *T, const Def *r, const Def *s, const Def *arr, const Def *index, const Def *x) |
| template<class Pred> | |
| DefMap< u64 > | mim::plug::tensor::count_consumers (const World &world, Pred pred) |
Counts the consumers of every def of world matched by pred. | |
| struct mim::plug::tensor::PureRead |