Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 28 of 28 for hasOneUse (0.21 sec)

  1. tensorflow/compiler/mlir/tensorflow/transforms/resource_op_lifting_cleanup.cc

        // We can eliminate a result if its unused and the corresponding argument
        // is unused in cond and the only use in body is use it as a return value.
        if (cond_arg.use_empty() && body_arg.hasOneUse() &&
            body_arg.use_begin()->getOperandNumber() == result_idx &&
            body_arg.use_begin()->getOwner() == body_ret) {
          can_eliminate.set(result_idx);
        }
      }
    
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 19.7K bytes
    - Viewed (0)
  2. tensorflow/compiler/mlir/tensorflow/transforms/layout_optimization.cc

        if (perm.getValue() != permutation_op.getValue()) return;
    
        // Add a transpose operation for later reuse only if it's used once.
        if (transpose.getResult().hasOneUse()) transpose_ops.push_back(transpose);
      }
    
      // Nothing to do here.
      if (!permutation_op) return;
    
      // All results after transpose must preserve the original result type.
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 19.3K bytes
    - Viewed (0)
  3. tensorflow/compiler/mlir/tensorflow/transforms/host_runtime/tpu_merge_variables_with_execute.cc

        // TODO(lyandy): Handle updates to resource writes by remapping to parent
        // launch result and checking if launch result is an AssignVariableOp.
        auto result = execute_output.value();
        if (!result.hasOneUse()) {
          if (VLOG_IS_ON(2)) {
            bool any_user_is_assign = false;
            for (auto result_user : result.getUsers()) {
              any_user_is_assign |= llvm::isa<TF::AssignVariableOp>(result_user);
            }
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Feb 29 17:52:11 UTC 2024
    - 27K bytes
    - Viewed (0)
  4. tensorflow/compiler/mlir/tf2xla/internal/passes/tpu_sharding_identification_pass.cc

    // connected to a `tf_device.cluster_func` result value (via AssignVariableOp/
    // resource write).
    mlir::Operation* GetXlaShardingFromResult(Value value) {
      if (!value.hasOneUse()) return nullptr;
    
      Operation* user = *value.getUsers().begin();
      if (auto partitioned_output =
              llvm::dyn_cast<mlir::TF::TPUPartitionedOutputV2Op>(user))
        return NullUnlessSharded(partitioned_output);
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Tue Apr 30 02:01:13 UTC 2024
    - 28.9K bytes
    - Viewed (0)
  5. tensorflow/compiler/mlir/tensorflow/utils/xla_sharding_util.cc

                      user)) {
            partitioned_output = partitioned_output_user;
            break;
          }
        }
        if (partitioned_output) {
          if (!old_parallel_execute_output.hasOneUse())
            return partitioned_output.emitOpError()
                   << "must be a unique user of TPU Cluster "
                      "(tf_device.old_parallel_execute) output "
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Wed May 22 21:28:13 UTC 2024
    - 34K bytes
    - Viewed (0)
  6. tensorflow/compiler/mlir/tensorflow/ir/tf_executor.cc

    //===----------------------------------------------------------------------===//
    
    LogicalResult NextIterationSourceOp::verify() {
      NextIterationSourceOp source = *this;
      Value token = source.getToken();
      if (!token.hasOneUse())
        return source.emitOpError() << "expects a single user for produced token";
      if (!isa<NextIterationSinkOp>(*token.user_begin()))
        return source.emitOpError() << "token should be consumed by a sink op";
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu Apr 25 16:01:03 UTC 2024
    - 42.7K bytes
    - Viewed (0)
  7. tensorflow/compiler/mlir/tf2xla/internal/passes/tpu_cluster_formation.cc

    template <typename T>
    std::tuple<T, llvm::SmallVector<mlir::TF::IdentityOp, 4>> GetSingleUserOfType(
        OpResult result) {
      llvm::SmallVector<mlir::TF::IdentityOp, 4> identity_ops;
    
      do {
        Operation* user = result.hasOneUse() ? *result.getUsers().begin() : nullptr;
        if (auto t = llvm::dyn_cast_or_null<T>(user)) {
          return std::make_tuple(t, identity_ops);
        } else if (auto identity =
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Thu May 02 22:03:30 UTC 2024
    - 39.3K bytes
    - Viewed (0)
  8. tensorflow/compiler/mlir/quantization/common/quantization_lib/quantization_utils.cc

          if (!IsSameScaleOp(user, op_quant_scale_spec_getter) ||
              PreferResultScale(user)) {
            continue;
          }
          for (Value res : user->getResults()) {
            if (!res.hasOneUse()) {
              continue;
            }
            if (auto next_stats =
                    dyn_cast<quantfork::StatisticsOp>(*res.getUsers().begin())) {
              // quantization parameters can be propagated to next_stats
    Registered: Sun Jun 16 05:45:23 UTC 2024
    - Last Modified: Wed May 08 02:10:16 UTC 2024
    - 43.2K bytes
    - Viewed (0)
Back to top