Go to the documentation of this file. 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 ...
Expr native_interleave(const Expr &x)
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
bool is_native_interleave(const Expr &x)
Stmt optimize_hexagon_shuffles(const Stmt &s, int lut_alignment)
Replace indirect and other loads with simple loads + vlut calls.
Stmt scatter_gather_generator(Stmt s)
bool is_native_deinterleave(const Expr &x)
Expr 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)