https://github.com/halide/Halide
Raw File
Tip revision: 88f2956f8c996e86d8f688ef8eb77949cbde1495 authored by Steven Johnson on 09 September 2022, 23:40:56 UTC
Allow use of bool|int|float for Generator type args
Tip revision: 88f2956
AlignLoads.h
#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
back to top