代码拉取完成,页面将自动刷新
同步操作将从 Gitee 极速下载/Halide 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "DebugArguments.h"
#include "Function.h"
#include "IR.h"
#include "IROperator.h"
#include "Module.h"
namespace Halide {
namespace Internal {
using std::vector;
void debug_arguments(LoweredFunc *func, const Target &t) {
internal_assert(func);
vector<Stmt> stmts;
stmts.push_back(Evaluate::make(print("Entering Pipeline " + func->name)));
stmts.push_back(Evaluate::make(print("Target: " + t.to_string())));
for (const LoweredArgument &arg : func->args) {
std::ostringstream name;
Expr scalar_var = Variable::make(arg.type, arg.name);
Expr buffer_var = Variable::make(type_of<halide_buffer_t *>(), arg.name + ".buffer");
Expr value;
switch (arg.kind) {
case Argument::InputScalar:
name << " Input " << arg.type << " " << arg.name << ":";
value = scalar_var;
break;
case Argument::InputBuffer:
name << " Input Buffer " << arg.name << ":";
value = buffer_var;
break;
case Argument::OutputBuffer:
name << " Output Buffer " << arg.name << ":";
value = buffer_var;
break;
}
stmts.push_back(Evaluate::make(print(name.str(), value)));
}
stmts.push_back(func->body);
stmts.push_back(Evaluate::make(print("Exiting Pipeline " + func->name)));
func->body = Block::make(stmts);
}
} // namespace Internal
} // namespace Halide
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。