diff options
author | Michael Kuperstein <mkuper@google.com> | 2018-09-17 12:23:18 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-09-17 12:29:52 -0700 |
commit | 3fe7b38347eaf7f1fb764cc2ac92de0ce7bc51e5 (patch) | |
tree | 7d3f4ff7567a8fb496e3994cab94db6dfb7a77b3 /tensorflow/compiler/xla/service/hlo_computation.cc | |
parent | 0d9868d8f9c01c1402ae99d672599c4bac6e787d (diff) |
[XLA] Allow adding extra instructions in HloComputation::CloneWithReplacements
PiperOrigin-RevId: 213316504
Diffstat (limited to 'tensorflow/compiler/xla/service/hlo_computation.cc')
-rw-r--r-- | tensorflow/compiler/xla/service/hlo_computation.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tensorflow/compiler/xla/service/hlo_computation.cc b/tensorflow/compiler/xla/service/hlo_computation.cc index 601a008d9f..e9e70b2c57 100644 --- a/tensorflow/compiler/xla/service/hlo_computation.cc +++ b/tensorflow/compiler/xla/service/hlo_computation.cc @@ -916,13 +916,14 @@ std::unique_ptr<HloComputation> HloComputation::Clone( return CloneWithReplacements( /*replacements=*/std::unordered_map<const HloInstruction*, std::unique_ptr<HloInstruction>>(), - context, suffix); + /*extras=*/{}, context, suffix); } std::unique_ptr<HloComputation> HloComputation::CloneWithReplacements( std::unordered_map<const HloInstruction*, std::unique_ptr<HloInstruction>> replacements, - HloCloneContext* context, const string& suffix) { + absl::Span<HloInstruction*> extras, HloCloneContext* context, + const string& suffix) { std::unique_ptr<HloCloneContext> context_ptr; if (context == nullptr) { context_ptr = absl::make_unique<HloCloneContext>(parent(), suffix); @@ -944,6 +945,9 @@ std::unique_ptr<HloComputation> HloComputation::CloneWithReplacements( VLOG(1) << "Cloning " << name() << " --> " << suffix << "\n"; std::vector<HloInstruction*> postorder; + for (HloInstruction* instr : extras) { + postorder.push_back(instr); + } for (HloInstruction* instr : MakeInstructionPostOrder()) { if (HloInstruction* replacement = replace(instr)) { postorder.push_back(replacement); |