diff --git a/maldoca/js/ir/transforms/dead_code_elimination/BUILD b/maldoca/js/ir/transforms/dead_code_elimination/BUILD index 2a50b5e..46b397d 100644 --- a/maldoca/js/ir/transforms/dead_code_elimination/BUILD +++ b/maldoca/js/ir/transforms/dead_code_elimination/BUILD @@ -29,6 +29,7 @@ cc_library( hdrs = ["pass.h"], deps = [ "//maldoca/js/ast", + "//maldoca/js/babel:scope", "//maldoca/js/ir", "//maldoca/js/ir:jsir_utils", "@abseil-cpp//absl/container:flat_hash_map", diff --git a/maldoca/js/ir/transforms/dead_code_elimination/pass.cc b/maldoca/js/ir/transforms/dead_code_elimination/pass.cc index 7981ccb..9b68c85 100644 --- a/maldoca/js/ir/transforms/dead_code_elimination/pass.cc +++ b/maldoca/js/ir/transforms/dead_code_elimination/pass.cc @@ -31,6 +31,7 @@ #include "absl/container/flat_hash_map.h" #include "absl/log/log.h" #include "maldoca/js/ast/ast.generated.h" +#include "maldoca/js/babel/scope.h" // IWYU pragma: keep #include "maldoca/js/ir/ir.h" #include "maldoca/js/ir/jsir_utils.h" @@ -98,16 +99,6 @@ struct SymbolInfo { std::vector outer_definitions; }; -bool operator==(const JsSymbolId& lhs, const JsSymbolId& rhs) { - return std::forward_as_tuple(lhs.name(), lhs.def_scope_uid()) == - std::forward_as_tuple(rhs.name(), rhs.def_scope_uid()); -} - -template -H AbslHashValue(H h, const JsSymbolId& m) { - return H::combine(std::move(h), m.name(), m.def_scope_uid()); -} - JsSymbolId GetSymbolIdFromAttr(JsirSymbolIdAttr symbol_attr) { std::string name = symbol_attr.getName().str(); std::optional scope_uid = symbol_attr.getDefScopeId();