#ifndef GPU_INTEL_JIT_PASS_ALLOC_HPP
#define GPU_INTEL_JIT_PASS_ALLOC_HPP
#include "gpu/intel/jit/ir/legacy.hpp"
namespace dnnl {
namespace impl {
namespace gpu {
namespace intel {
namespace jit {
stmt_t lift_alloc(const stmt_t &s, ir_context_t &ir_ctx, bool reuse_headers);
stmt_t optimize_alloc_let(const stmt_t &s, ir_context_t &ir_ctx);
stmt_t inject_alloc_stmts(const stmt_t &stmt, const std::vector<stmt_t> &allocs,
bool put_innermost = false, bool update_existing = false);
stmt_t inject_alloc_stmts(const stmt_t &stmt, const buffer_manager_t &buf_mgr);
stmt_t inject_let_stmts(const stmt_t &stmt, const std::vector<stmt_t> &lets);
stmt_t inject_dangling_let_stmts(const stmt_t &stmt);
} } } } }
#endif