1 #ifndef HALIDE_IR_HEXAGON_OPTIMIZE_H 2 #define HALIDE_IR_HEXAGON_OPTIMIZE_H 43 std::string
type_suffix(Type type,
bool signed_variants =
true);
45 std::string
type_suffix(
const Expr &a,
bool signed_variants =
true);
47 std::string
type_suffix(
const Expr &a,
const Expr &b,
bool signed_variants =
true);
49 std::string
type_suffix(
const std::vector<Expr> &ops,
bool signed_variants =
true);
Stmt optimize_hexagon_instructions(Stmt s, const Target &t)
Hexagon deinterleaves when performing widening operations, and interleaves when performing narrowing ...
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
bool is_native_deinterleave(const Expr &x)
Generate deinterleave or interleave operations, operating on groups of vectors at a time...
std::string type_suffix(Type type, bool signed_variants=true)
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt) ...
Expr native_interleave(const Expr &x)
Generate deinterleave or interleave operations, operating on groups of vectors at a time...
Stmt scatter_gather_generator(Stmt s)
Not visible externally, similar to 'static' linkage in C.
Expr native_deinterleave(const Expr &x)
Generate deinterleave or interleave operations, operating on groups of vectors at a time...
bool is_native_interleave(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.