Halide
AlignLoads.h
Go to the documentation of this file.
1
#ifndef HALIDE_ALIGN_LOADS_H
2
#define HALIDE_ALIGN_LOADS_H
3
4
/** \file
5
* Defines a lowering pass that rewrites unaligned loads into
6
* sequences of aligned loads.
7
*/
8
#include "
Expr.h
"
9
10
namespace
Halide
{
11
namespace
Internal
{
12
13
/** Attempt to rewrite unaligned loads from buffers which are known to
14
* be aligned to instead load aligned vectors that cover the original
15
* load, and then slice the original load out of the aligned
16
* vectors.
17
*
18
* Types that are less than min_bytes_to_align in size are not
19
* rewritten. This is intended to make a distinction between data that
20
* will be accessed as a scalar and that which will be accessed as a
21
* vector.
22
*/
23
Stmt
align_loads
(
const
Stmt &s,
int
alignment,
int
min_bytes_to_align);
24
25
}
// namespace Internal
26
}
// namespace Halide
27
28
#endif
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition:
AbstractGenerator.h:19
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
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...
Expr.h
src
AlignLoads.h
Generated by
1.8.17