aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Patrick Nguyen <drpng@google.com>2017-01-04 09:43:10 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-01-04 10:03:51 -0800
commit1118de02db298159d7df7008df59ffd92801b59f (patch)
tree98406256d58017b6d5b97eaae6bfa7fefe5028d9
parent3b5f50d3f7620d288e19e4429cc63bffefdcd415 (diff)
Mark gemmlowp result as initialized.
Change: 143563367
-rw-r--r--tensorflow/core/kernels/quantized_matmul_op.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/tensorflow/core/kernels/quantized_matmul_op.cc b/tensorflow/core/kernels/quantized_matmul_op.cc
index 00d5fe88a3..d55d666709 100644
--- a/tensorflow/core/kernels/quantized_matmul_op.cc
+++ b/tensorflow/core/kernels/quantized_matmul_op.cc
@@ -58,6 +58,9 @@ void GemmlowpMultiply(OpKernelContext* op_context, const quint8* a_data,
gemmlowp::GemmWithOutputPipeline<std::uint8_t, std::int32_t,
gemmlowp::DefaultL8R8BitDepthParams>(
&context, lhs, rhs, &result, -offset_a, -offset_b, empty_pipeline);
+ // Since gemmlowp uses assembly to write to the output, msan won't detect
+ // the output buffer as written to, so we mark it manually.
+ TF_ANNOTATE_MEMORY_IS_INITIALIZED(c_data_as_int32, m * n * sizeof(int32));
}
template <class T1, class T2, class Toutput>