Halide 18.0.0
Halide compiler and libraries
|
Defines functionality that's useful to multiple target-specific CodeGen paths, but shouldn't live in CodeGen_LLVM.h (because that's the front-end-facing interface to CodeGen). More...
Go to the source code of this file.
Namespaces | |
namespace | llvm |
namespace | Halide |
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it. | |
namespace | Halide::Internal |
Functions | |
llvm::Type * | Halide::Internal::get_vector_element_type (llvm::Type *) |
Get the scalar type of an llvm vector type. | |
bool | Halide::Internal::function_takes_user_context (const std::string &name) |
Which built-in functions require a user-context first argument? | |
bool | Halide::Internal::can_allocation_fit_on_stack (int64_t size) |
Given a size (in bytes), return True if the allocation size can fit on the stack; otherwise, return False. | |
std::pair< Expr, Expr > | Halide::Internal::long_div_mod_round_to_zero (const Expr &a, const Expr &b, const uint64_t *max_abs=nullptr) |
Does a {div/mod}_round_to_zero using binary long division for int/uint. | |
Expr | Halide::Internal::lower_mux (const Call *mux) |
Reduce a mux intrinsic to a select tree. | |
Expr | Halide::Internal::lower_round_to_nearest_ties_to_even (const Expr &) |
An vectorizable implementation of Halide::round that doesn't depend on any standard library being present. | |
void | Halide::Internal::get_target_options (const llvm::Module &module, llvm::TargetOptions &options) |
Given an llvm::Module, set llvm:TargetOptions information. | |
void | Halide::Internal::clone_target_options (const llvm::Module &from, llvm::Module &to) |
Given two llvm::Modules, clone target options from one to the other. | |
std::unique_ptr< llvm::TargetMachine > | Halide::Internal::make_target_machine (const llvm::Module &module) |
Given an llvm::Module, get or create an llvm:TargetMachine. | |
void | Halide::Internal::set_function_attributes_from_halide_target_options (llvm::Function &) |
Set the appropriate llvm Function attributes given the Halide Target. | |
void | Halide::Internal::embed_bitcode (llvm::Module *M, const std::string &halide_command) |
Save a copy of the llvm IR currently represented by the module as data in the __LLVM,__bitcode section. | |
Defines functionality that's useful to multiple target-specific CodeGen paths, but shouldn't live in CodeGen_LLVM.h (because that's the front-end-facing interface to CodeGen).
Definition in file CodeGen_Internal.h.