Halide  12.0.1
Halide compiler and libraries
CodeGen_Targets.h
Go to the documentation of this file.
1 #ifndef HALIDE_CODEGEN_TARGETS_H
2 #define HALIDE_CODEGEN_TARGETS_H
3 
4 /** \file
5  * Provides constructors for code generators for various targets.
6  */
7 
8 #include <memory>
9 
10 namespace Halide {
11 
12 struct Target;
13 
14 namespace Internal {
15 
16 class CodeGen_Posix;
17 
18 /** Construct CodeGen object for a variety of targets. */
19 std::unique_ptr<CodeGen_Posix> new_CodeGen_ARM(const Target &target);
20 std::unique_ptr<CodeGen_Posix> new_CodeGen_Hexagon(const Target &target);
21 std::unique_ptr<CodeGen_Posix> new_CodeGen_MIPS(const Target &target);
22 std::unique_ptr<CodeGen_Posix> new_CodeGen_PowerPC(const Target &target);
23 std::unique_ptr<CodeGen_Posix> new_CodeGen_RISCV(const Target &target);
24 std::unique_ptr<CodeGen_Posix> new_CodeGen_X86(const Target &target);
25 std::unique_ptr<CodeGen_Posix> new_CodeGen_WebAssembly(const Target &target);
26 
27 } // namespace Internal
28 } // namespace Halide
29 
30 #endif
std::unique_ptr< CodeGen_Posix > new_CodeGen_MIPS(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_PowerPC(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_X86(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_WebAssembly(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_Hexagon(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_RISCV(const Target &target)
std::unique_ptr< CodeGen_Posix > new_CodeGen_ARM(const Target &target)
Construct CodeGen object for a variety of targets.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
A struct representing a target machine and os to generate code for.
Definition: Target.h:19