Use absl::Span for HloModuleGroupMetadata

PiperOrigin-RevId: 215905026
This commit is contained in:
HyoukJoong Lee 2018-10-05 07:46:22 -07:00 committed by TensorFlower Gardener
parent 123de2797a
commit 92c8a77ba4
2 changed files with 5 additions and 5 deletions

View File

@ -59,7 +59,7 @@ string HloModuleGroupMetadata::TrackedInstruction::ToString() const {
} }
/* static */ StatusOr<std::unique_ptr<HloModuleGroupMetadata>> /* static */ StatusOr<std::unique_ptr<HloModuleGroupMetadata>>
HloModuleGroupMetadata::Build(const std::vector<HloModule*>& modules) { HloModuleGroupMetadata::Build(absl::Span<HloModule* const> modules) {
auto metadata = absl::make_unique<HloModuleGroupMetadata>(modules); auto metadata = absl::make_unique<HloModuleGroupMetadata>(modules);
TF_RETURN_IF_ERROR(metadata->Build()); TF_RETURN_IF_ERROR(metadata->Build());
return std::move(metadata); return std::move(metadata);

View File

@ -102,14 +102,14 @@ class HloModuleGroupMetadata {
HloInstruction* recv_done = nullptr; HloInstruction* recv_done = nullptr;
}; };
explicit HloModuleGroupMetadata(const std::vector<HloModule*>& modules) explicit HloModuleGroupMetadata(absl::Span<HloModule* const> modules)
: modules_(modules) {} : modules_(modules.begin(), modules.end()) {}
~HloModuleGroupMetadata() = default; ~HloModuleGroupMetadata() = default;
// Build and return the metadata for the given modules. // Build and return the metadata for the given modules.
static StatusOr<std::unique_ptr<HloModuleGroupMetadata>> Build( static StatusOr<std::unique_ptr<HloModuleGroupMetadata>> Build(
const std::vector<HloModule*>& modules); absl::Span<HloModule* const> modules);
// Returns true if the instruction is one of the 4 channel instructions (Send, // Returns true if the instruction is one of the 4 channel instructions (Send,
// Recv, SendDone, RecvDone). // Recv, SendDone, RecvDone).
@ -274,7 +274,7 @@ class HloModuleGroupMetadata {
int64 max_channel_id_ = -1; int64 max_channel_id_ = -1;
// The modules that this metadata was built from. // The modules that this metadata was built from.
const std::vector<HloModule*>& modules_; const std::vector<HloModule*> modules_;
absl::flat_hash_map<HloModule*, std::unique_ptr<TuplePointsToAnalysis>> absl::flat_hash_map<HloModule*, std::unique_ptr<TuplePointsToAnalysis>>
points_to_analyses_; points_to_analyses_;