1#ifndef HALIDE_IR_HEXAGON_OPTIMIZE_H
2#define HALIDE_IR_HEXAGON_OPTIMIZE_H
49std::string
type_suffix(
const std::vector<Expr> &ops,
bool signed_variants =
true);
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Stmt optimize_hexagon_instructions(Stmt s, const Target &t)
Hexagon deinterleaves when performing widening operations, and interleaves when performing narrowing ...
Expr native_deinterleave(const Expr &x)
Generate deinterleave or interleave operations, operating on groups of vectors at a time.
Stmt optimize_hexagon_shuffles(const Stmt &s, int lut_alignment)
Replace indirect and other loads with simple loads + vlut calls.
bool is_native_interleave(const Expr &x)
bool is_native_deinterleave(const Expr &x)
Stmt scatter_gather_generator(Stmt s)
Expr native_interleave(const Expr &x)
std::string type_suffix(Type type, bool signed_variants=true)
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
A fragment of Halide syntax.
A reference-counted handle to a statement node.
A struct representing a target machine and os to generate code for.
Types in the halide type system.