77// clang-format on
88#include " ir/container.h"
99
10- #include " fusion.h"
1110#include " instrumentation.h"
1211#include " ir/base_nodes.h"
1312#include " ir/builder.h"
@@ -19,9 +18,8 @@ namespace nvfuser {
1918// ! Return values in insertion order
2019const std::deque<Val*> IrContainer::deterministic_vals () const noexcept {
2120 std::deque<Val*> vals_deque;
22- std::transform (
23- vals_up_.begin (),
24- vals_up_.end (),
21+ std::ranges::transform (
22+ vals_up_,
2523 std::back_inserter (vals_deque),
2624 [](const std::unique_ptr<Val>& val_up) { return val_up.get (); });
2725 return vals_deque;
@@ -30,9 +28,8 @@ const std::deque<Val*> IrContainer::deterministic_vals() const noexcept {
3028// ! Return expression in insertion order
3129const std::deque<Expr*> IrContainer::deterministic_exprs () const noexcept {
3230 std::deque<Expr*> exprs_deque;
33- std::transform (
34- exprs_up_.begin (),
35- exprs_up_.end (),
31+ std::ranges::transform (
32+ exprs_up_,
3633 std::back_inserter (exprs_deque),
3734 [](const std::unique_ptr<Expr>& expr_up) { return expr_up.get (); });
3835 return exprs_deque;
@@ -43,9 +40,8 @@ const std::unordered_map<Val*, int64_t> IrContainer::deterministic_vals_map()
4340 const noexcept {
4441 std::unordered_map<Val*, int64_t > vals_map;
4542 int64_t count = 0 ;
46- std::transform (
47- vals_up_.begin (),
48- vals_up_.end (),
43+ std::ranges::transform (
44+ vals_up_,
4945 std::inserter (vals_map, vals_map.end ()),
5046 [&count](const std::unique_ptr<Val>& val_up) {
5147 return std::make_pair (val_up.get (), count++);
@@ -58,9 +54,8 @@ const std::unordered_map<Expr*, int64_t> IrContainer::deterministic_exprs_map()
5854 const noexcept {
5955 std::unordered_map<Expr*, int64_t > exprs_map;
6056 int64_t count = 0 ;
61- std::transform (
62- exprs_up_.begin (),
63- exprs_up_.end (),
57+ std::ranges::transform (
58+ exprs_up_,
6459 std::inserter (exprs_map, exprs_map.end ()),
6560 [&count](const std::unique_ptr<Expr>& expr_up) {
6661 return std::make_pair (expr_up.get (), count++);
@@ -119,9 +114,8 @@ void IrContainer::removeExpr(Expr* expr) {
119114 NVF_ERROR (
120115 exprs_.find (expr) != exprs_.end (),
121116 " Wanted to remove an expression but it doesn't exist in this container." );
122- auto expr_in_deque = std::find_if (
123- exprs_up_.begin (),
124- exprs_up_.end (),
117+ auto expr_in_deque = std::ranges::find_if (
118+ exprs_up_,
125119 [expr](std::unique_ptr<Expr>& expr_up) { return expr_up.get () == expr; });
126120
127121 NVF_ERROR (
@@ -138,10 +132,9 @@ void IrContainer::removeVal(Val* val) {
138132 NVF_ERROR (
139133 vals_.find (val) != vals_.end (),
140134 " Wanted to remove a value but it doesn't exist in this container." );
141- auto val_in_deque = std::find_if (
142- vals_up_.begin (), vals_up_.end (), [val](std::unique_ptr<Val>& val_up) {
143- return val_up.get () == val;
144- });
135+ auto val_in_deque = std::ranges::find_if (
136+ vals_up_,
137+ [val](std::unique_ptr<Val>& val_up) { return val_up.get () == val; });
145138
146139 NVF_ERROR (
147140 val_in_deque != vals_up_.end (),
0 commit comments