diff --git a/Documentation/structarmnn_1_1_lstm_opt_peephole_parameters.html b/Documentation/structarmnn_1_1_lstm_opt_peephole_parameters.html
new file mode 100644
index 0000000..c3607a6
--- /dev/null
+++ b/Documentation/structarmnn_1_1_lstm_opt_peephole_parameters.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: LstmOptPeepholeParameters Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">ArmNN
+   &#160;<span id="projectnumber">NotReleased</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('structarmnn_1_1_lstm_opt_peephole_parameters.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structarmnn_1_1_lstm_opt_peephole_parameters-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">LstmOptPeepholeParameters Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_lstm_layer_8hpp_source.html">LstmLayer.hpp</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a5d0ebbbb11b727a67877df40b59a628c"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_lstm_opt_peephole_parameters.html#a5d0ebbbb11b727a67877df40b59a628c">m_CellToForgetWeights</a></td></tr>
+<tr class="memdesc:a5d0ebbbb11b727a67877df40b59a628c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique pointer to represent 1D weights tensor with dimensions [num_units].  <a href="#a5d0ebbbb11b727a67877df40b59a628c">More...</a><br /></td></tr>
+<tr class="separator:a5d0ebbbb11b727a67877df40b59a628c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a310e133b0b51b93a74b83008893792e9"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_lstm_opt_peephole_parameters.html#a310e133b0b51b93a74b83008893792e9">m_CellToOutputWeights</a></td></tr>
+<tr class="memdesc:a310e133b0b51b93a74b83008893792e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique pointer to represent 1D weights tensor with dimensions [num_units].  <a href="#a310e133b0b51b93a74b83008893792e9">More...</a><br /></td></tr>
+<tr class="separator:a310e133b0b51b93a74b83008893792e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="_lstm_layer_8hpp_source.html#l00046">46</a> of file <a class="el" href="_lstm_layer_8hpp_source.html">LstmLayer.hpp</a>.</p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a id="a5d0ebbbb11b727a67877df40b59a628c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d0ebbbb11b727a67877df40b59a628c">&#9670;&nbsp;</a></span>m_CellToForgetWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::unique_ptr&lt;<a class="el" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a>&gt; m_CellToForgetWeights</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A unique pointer to represent 1D weights tensor with dimensions [num_units]. </p>
+
+<p class="definition">Definition at line <a class="el" href="_lstm_layer_8hpp_source.html#l00049">49</a> of file <a class="el" href="_lstm_layer_8hpp_source.html">LstmLayer.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_lstm_layer_8cpp_source.html#l00299">LstmLayer::Accept()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00075">LstmLayer::Clone()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00022">LstmLayer::CreateWorkload()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00266">LstmLayer::GetConstantTensorsByRef()</a>, and <a class="el" href="_lstm_layer_8cpp_source.html#l00160">LstmLayer::ValidateTensorShapesFromInputs()</a>.</p>
+
+</div>
+</div>
+<a id="a310e133b0b51b93a74b83008893792e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a310e133b0b51b93a74b83008893792e9">&#9670;&nbsp;</a></span>m_CellToOutputWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::unique_ptr&lt;<a class="el" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a>&gt; m_CellToOutputWeights</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A unique pointer to represent 1D weights tensor with dimensions [num_units]. </p>
+
+<p class="definition">Definition at line <a class="el" href="_lstm_layer_8hpp_source.html#l00051">51</a> of file <a class="el" href="_lstm_layer_8hpp_source.html">LstmLayer.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_lstm_layer_8cpp_source.html#l00299">LstmLayer::Accept()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00075">LstmLayer::Clone()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00022">LstmLayer::CreateWorkload()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00266">LstmLayer::GetConstantTensorsByRef()</a>, and <a class="el" href="_lstm_layer_8cpp_source.html#l00160">LstmLayer::ValidateTensorShapesFromInputs()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>src/armnn/layers/<a class="el" href="_lstm_layer_8hpp_source.html">LstmLayer.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_lstm_opt_peephole_parameters.html">LstmOptPeepholeParameters</a></li>
+    <li class="footer">Generated on Fri Mar 13 2020 16:07:03 for ArmNN by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>
