[TF:XLA] Add while loop invariant code motion
authorSanjoy Das <sanjoy@google.com>
Tue, 9 Jan 2018 03:41:05 +0000 (19:41 -0800)
committerTensorFlower Gardener <gardener@tensorflow.org>
Tue, 9 Jan 2018 03:47:25 +0000 (19:47 -0800)
commit51895fe67434b6e9f5419872f69c7e6092ed69e9
tree0e867e6ff5a62e168f3dc646d781448da208a7e6
parentbd72021bd1223ac42b1010e6599b2528a18dc33c
[TF:XLA] Add while loop invariant code motion

This new pass extracts out loop invariant computations out of while loops into
their parent computations.

Right now this is enabled only for the CPU backend.

PiperOrigin-RevId: 181256166
19 files changed:
tensorflow/compiler/xla/map_util.h
tensorflow/compiler/xla/service/BUILD
tensorflow/compiler/xla/service/call_inliner.cc
tensorflow/compiler/xla/service/call_inliner.h
tensorflow/compiler/xla/service/call_inliner_test.cc
tensorflow/compiler/xla/service/cpu/BUILD
tensorflow/compiler/xla/service/cpu/cpu_compiler.cc
tensorflow/compiler/xla/service/tuple_util.cc [new file with mode: 0644]
tensorflow/compiler/xla/service/tuple_util.h [new file with mode: 0644]
tensorflow/compiler/xla/service/tuple_util_test.cc [new file with mode: 0644]
tensorflow/compiler/xla/service/while_loop_invariant_code_motion.cc [new file with mode: 0644]
tensorflow/compiler/xla/service/while_loop_invariant_code_motion.h [new file with mode: 0644]
tensorflow/compiler/xla/service/while_loop_invariant_code_motion_test.cc [new file with mode: 0644]
tensorflow/compiler/xla/service/while_loop_simplifier.cc
tensorflow/compiler/xla/service/while_util.cc [new file with mode: 0644]
tensorflow/compiler/xla/service/while_util.h [new file with mode: 0644]
tensorflow/compiler/xla/service/while_util_test.cc [new file with mode: 0644]
tensorflow/compiler/xla/tests/while_test.cc
tensorflow/compiler/xla/util.h