Loading...
Searching...
No Matches
AlignLoads.h
Go to the documentation of this file.
#ifndef HALIDE_ALIGN_LOADS_H
#define HALIDE_ALIGN_LOADS_H
/** \file
* Defines a lowering pass that rewrites unaligned loads into
* sequences of aligned loads.
*/
#include "Expr.h"
namespace Halide {
namespace Internal {
/** Attempt to rewrite unaligned loads from buffers which are known to
* be aligned to instead load aligned vectors that cover the original
* load, and then slice the original load out of the aligned
* vectors.
*
* Types that are less than min_bytes_to_align in size are not
* rewritten. This is intended to make a distinction between data that
* will be accessed as a scalar and that which will be accessed as a
* vector.
*/
Stmt align_loads(const Stmt &s, int alignment, int min_bytes_to_align);
} // namespace Internal
} // namespace Halide
#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt).
Halide::Internal
Definition AbstractGenerator.h:24
Halide::Internal::align_loads
Stmt align_loads(const Stmt &s, int alignment, int min_bytes_to_align)
Attempt to rewrite unaligned loads from buffers which are known to be aligned to instead load aligned...
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition AbstractGenerator.h:19
Halide::Internal::Stmt
A reference-counted handle to a statement node.
Definition Expr.h:427