Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
CPlusPlusMangle.h
Go to the documentation of this file.
1#ifndef HALIDE_CPLUSPLUS_MANGLE_H
2#define HALIDE_CPLUSPLUS_MANGLE_H
3
4/** \file
5 *
6 * A simple function to get a C++ mangled function name for a function.
7 */
8#include <string>
9#include <vector>
10
11#include "Expr.h"
12
13 namespace Halide {
14
15 struct ExternFuncArgument;
16 struct Target;
17
18 namespace Internal {
19
20/** Return the mangled C++ name for a function.
21 * The target parameter is used to decide on the C++
22 * ABI/mangling style to use.
23 */
24std::string cplusplus_function_mangled_name(const std::string &name,
25 const std::vector<std::string> &namespaces,
26 Type return_type,
27 const std::vector<ExternFuncArgument> &args,
28 const Target &target);
29
30 void cplusplus_mangle_test();
31
32} // namespace Internal
33
34} // namespace Halide
35
36#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Halide::Internal::cplusplus_mangle_test
void cplusplus_mangle_test()
Halide::Internal::cplusplus_function_mangled_name
std::string cplusplus_function_mangled_name(const std::string &name, const std::vector< std::string > &namespaces, Type return_type, const std::vector< ExternFuncArgument > &args, const Target &target)
Return the mangled C++ name for a 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::cast
Internal::ConstantInterval cast(Type t, const Internal::ConstantInterval &a)
Cast operators for ConstantIntervals.
Halide::Target
A struct representing a target machine and os to generate code for.
Definition Target.h:19
Halide::Type
Types in the halide type system.
Definition Type.h:281