Halide
StrictifyFloat.h
Go to the documentation of this file.
1
#ifndef HALIDE_STRICTIFY_FLOAT_H
2
#define HALIDE_STRICTIFY_FLOAT_H
3
4
/** \file
5
* Defines a lowering pass to make all floating-point strict for all top-level Exprs.
6
*/
7
8
#include <map>
9
#include <string>
10
11
namespace
Halide
{
12
13
struct
Target;
14
15
namespace
Internal
{
16
17
class
Function
;
18
19
/** Propagate strict_float intrinisics such that they immediately wrap
20
* all floating-point expressions. This makes the IR nodes context
21
* independent. If the Target::StrictFloat flag is specified in
22
* target, starts in strict_float mode so all floating-point type
23
* Exprs in the compilation will be marked with strict_float. Returns
24
* whether any strict floating-point is used in any function in the
25
* passed in env.
26
*/
27
bool
strictify_float
(std::map<std::string, Function> &env,
const
Target &t);
28
29
}
// namespace Internal
30
}
// namespace Halide
31
32
#endif
Halide::Internal::ArgInfoKind::Function
@ Function
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::strictify_float
bool strictify_float(std::map< std::string, Function > &env, const Target &t)
Propagate strict_float intrinisics such that they immediately wrap all floating-point expressions.
src
StrictifyFloat.h
Generated by
1.8.17