Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for getSymbolUses (0.2 sec)

  1. tensorflow/compiler/mlir/quantization/tensorflow/passes/lift_hashtable_ops_as_args.cc

    // TODO(b/284222309): Support lifting for functions called by control flow.
    bool UsedBySupportedOps(ModuleOp module, func::FuncOp func) {
      auto function_uses =
          SymbolTable::getSymbolUses(func, &module.getBodyRegion());
      if (!function_uses.has_value()) return false;
      for (auto& function_use : function_uses.value()) {
        if (!llvm::isa<TF::PartitionedCallOp, TF::StatefulPartitionedCallOp>(
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Fri May 17 17:58:54 UTC 2024
    - 8.2K bytes
    - Viewed (0)
  2. tensorflow/compiler/mlir/tensorflow/utils/visitor.cc

        if (result.wasInterrupted()) {
          return result;
        } else if (result.wasSkipped()) {
          continue;
        }
    
        result = f.walk([&](Operation* op) {
          const auto uses = SymbolTable::getSymbolUses(op);
          if (!uses.has_value()) {
            op->emitOpError() << "contains a potentially unknown symbol table";
            return WalkResult::interrupt();
          }
    
          for (const SymbolTable::SymbolUse& use : *uses) {
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Fri May 19 03:46:51 UTC 2023
    - 4.1K bytes
    - Viewed (0)
  3. tensorflow/compiler/mlir/tensorflow/transforms/decompose_optionals.cc

        // func.call @f(...) -> bar
        //
        // to
        //
        // func.func @f(...) -> ... {
        //     yield %x : foo
        // }
        // ...
        // func.call f(...) -> foo
        auto symbol_uses = f.getSymbolUses(f->getParentOp());
        if (!symbol_uses.has_value()) {
          return failure();
        }
        for (auto use : *symbol_uses) {
          Operation* caller = use.getUser();
          bool changed = false;
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Wed Jun 12 21:18:05 UTC 2024
    - 9.8K bytes
    - Viewed (0)
  4. tensorflow/compiler/mlir/tensorflow/ir/tf_saved_model.cc

              return mlir::cast<FlatSymbolRefAttr>(sym_ref).getValue() ==
                     func.getName();
            });
      };
    
      auto symbol_uses = SymbolTable::getSymbolUses(&module.getBodyRegion());
      if (!symbol_uses.has_value()) {
        return module.emitError() << "modules with 'tf_saved_model.semantics' must "
                                     "have analyzable symbol uses";
      }
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 23.5K bytes
    - Viewed (0)
  5. tensorflow/compiler/mlir/tensorflow/transforms/resource_op_lifting_cleanup.cc

    // will be marked as private.
    func::FuncOp CloneFunctionIfNeeded(func::FuncOp func) {
      ModuleOp module = func->getParentOfType<ModuleOp>();
      auto func_uses = SymbolTable::getSymbolUses(func, &module.getBodyRegion());
      if (func_uses.has_value() && llvm::hasSingleElement(func_uses.value()))
        return func;
      func::FuncOp cloned = func.clone();
      cloned.setPrivate();
      cloned.setName(
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 19.7K bytes
    - Viewed (0)
  6. tensorflow/compiler/mlir/tensorflow/transforms/host_runtime/tpu_rewrite_pass.cc

        // all found FuncOps to new_module to make sure new_module is
        // self-contained.
        std::optional<SymbolTable::UseRange> uses =
            SymbolTable::getSymbolUses(func);
        assert(uses && "expected to be able to collect symbol uses");
        for (SymbolTable::SymbolUse use : *uses) {
          func::FuncOp referenced_func = entry_module_table.lookup<func::FuncOp>(
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Tue Apr 30 21:25:12 UTC 2024
    - 29.7K bytes
    - Viewed (0)
  7. tensorflow/compiler/mlir/tensorflow/transforms/sparsecore/embedding_sequencing.cc

                                    TF::WhileOp* while_op) {
      // Given a while loop body function 'body_func', find the tf.While Op that
      // uses it.
      auto uses_optional = body_func.getSymbolUses(module);
      if (!uses_optional.has_value()) {
        body_func.emitOpError() << "no use of while loop body";
        return LogicalResult::failure();
      }
      *while_op = nullptr;
      for (auto& use : uses_optional.value()) {
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 39.4K bytes
    - Viewed (0)
  8. tensorflow/compiler/mlir/tf2xla/transforms/legalize_tf_communication.cc

      while (!funcs_to_visit.empty()) {
        SmallVector<func::FuncOp, 4> new_funcs_to_visit;
        for (func::FuncOp& func : funcs_to_visit) {
          auto uses = func.getSymbolUses(module);
          if (!uses) continue;
          for (auto& use : *uses) {
            // Only `mlir::func::CallOp` is supported as this requires knowing how
            // to rewrite arguments and results to a function.
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 40.5K bytes
    - Viewed (0)
  9. tensorflow/compiler/mlir/tensorflow/transforms/sparsecore/embedding_pipelining.cc

                                    TF::WhileOp& while_op) {
      // Given a while loop body function 'body_func', find the tf.While Op that
      // uses it.
      auto uses_optional = body_func.getSymbolUses(module);
      if (!uses_optional.has_value()) {
        body_func.emitOpError() << "no use of while loop body";
        return LogicalResult::failure();
      }
      while_op = nullptr;
      for (auto& use : uses_optional.value()) {
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 92.9K bytes
    - Viewed (0)
Back to top