1#ifndef FREE_TENSOR_USER_GRAD_H
2#define FREE_TENSOR_USER_GRAD_H
5#include <unordered_set>
34std::optional<std::pair<ID, ID>>
Definition: allocator.h:9
std::optional< std::pair< ID, ID > > getRangeFromStmtSeq(const Stmt &op, const std::unordered_set< ID > &stmts)
Definition: user_grad.cc:53
Ref< StmtNode > Stmt
Definition: ast.h:152
Definition: user_grad.h:23
RangeToUserGrad(const ID &oriBegin, const ID &oriEnd, const Stmt &bwdBody)
Definition: user_grad.h:30
ID oriBegin_
Range of statements in the original program, inclusive.
Definition: user_grad.h:25
Stmt bwdBody_
Backward statement (can be a scope)
Definition: user_grad.h:28
ID oriEnd_
Definition: user_grad.h:25
Definition: user_grad.h:11
StmtSetToUserGrad(const std::unordered_set< ID > &oriStmts, const Stmt &bwdBody)
Definition: user_grad.h:18
Stmt bwdBody_
Backward statement (can be a scope)
Definition: user_grad.h:16
std::unordered_set< ID > oriStmts_
Set of statements in the original program.
Definition: user_grad.h:13