diff --git a/22.11/classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml b/22.11/classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml
new file mode 100644
index 0000000..a7046dc
--- /dev/null
+++ b/22.11/classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml
@@ -0,0 +1,237 @@
+<!-- Copyright (c) 2020 ARM Limited. -->
+<!--                                 -->
+<!-- SPDX-License-Identifier: MIT    -->
+<!--                                 -->
+<!-- HTML header for doxygen 1.8.13-->
+<!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="robots" content="NOINDEX, NOFOLLOW" />
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: TransposeAsReshapeImpl Class 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>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet.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;">
+  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   &#160;<span id="projectnumber">22.11</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('classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml','');});
+</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-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl-members.xhtml">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">TransposeAsReshapeImpl Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_transpose_as_reshape_8hpp_source.xhtml">TransposeAsReshape.hpp</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a19561272a3ac41cb5cb0175eb4567044"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml#a19561272a3ac41cb5cb0175eb4567044">Run</a> (<a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> &amp;graph, <a class="el" href="classarmnn_1_1_transpose_layer.xhtml">TransposeLayer</a> &amp;transpose) const</td></tr>
+<tr class="memdesc:a19561272a3ac41cb5cb0175eb4567044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run for every <a class="el" href="classarmnn_1_1_transpose_layer.xhtml" title="This layer represents a transpose operation. ">TransposeLayer</a>. Replaces it with a <a class="el" href="classarmnn_1_1_reshape_layer.xhtml" title="This layer represents a reshape operation. ">ReshapeLayer</a> if they are equivalent.  <a href="#a19561272a3ac41cb5cb0175eb4567044">More...</a><br /></td></tr>
+<tr class="separator:a19561272a3ac41cb5cb0175eb4567044"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:abb9b7c45f4778dbcccf54e70f0052a77"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml#abb9b7c45f4778dbcccf54e70f0052a77">TransposeAsReshapeImpl</a> ()=default</td></tr>
+<tr class="separator:abb9b7c45f4778dbcccf54e70f0052a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18c7efcc9689f0d8dfdd9fe556eda140"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml#a18c7efcc9689f0d8dfdd9fe556eda140">~TransposeAsReshapeImpl</a> ()=default</td></tr>
+<tr class="separator:a18c7efcc9689f0d8dfdd9fe556eda140"><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="_transpose_as_reshape_8hpp_source.xhtml#l00014">14</a> of file <a class="el" href="_transpose_as_reshape_8hpp_source.xhtml">TransposeAsReshape.hpp</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="abb9b7c45f4778dbcccf54e70f0052a77"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb9b7c45f4778dbcccf54e70f0052a77">&#9670;&nbsp;</a></span>TransposeAsReshapeImpl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml">TransposeAsReshapeImpl</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="reference">Referenced by <a class="el" href="_transpose_as_reshape_8hpp_source.xhtml#l00018">TransposeAsReshapeImpl::Run()</a>.</p>
+
+</div>
+</div>
+<a id="a18c7efcc9689f0d8dfdd9fe556eda140"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18c7efcc9689f0d8dfdd9fe556eda140">&#9670;&nbsp;</a></span>~TransposeAsReshapeImpl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">~<a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml">TransposeAsReshapeImpl</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="reference">Referenced by <a class="el" href="_transpose_as_reshape_8hpp_source.xhtml#l00018">TransposeAsReshapeImpl::Run()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a19561272a3ac41cb5cb0175eb4567044"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a19561272a3ac41cb5cb0175eb4567044">&#9670;&nbsp;</a></span>Run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void Run </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
+          <td class="paramname"><em>graph</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classarmnn_1_1_transpose_layer.xhtml">TransposeLayer</a> &amp;&#160;</td>
+          <td class="paramname"><em>transpose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Run for every <a class="el" href="classarmnn_1_1_transpose_layer.xhtml" title="This layer represents a transpose operation. ">TransposeLayer</a>. Replaces it with a <a class="el" href="classarmnn_1_1_reshape_layer.xhtml" title="This layer represents a reshape operation. ">ReshapeLayer</a> if they are equivalent. </p>
+
+<p class="definition">Definition at line <a class="el" href="_transpose_as_reshape_8hpp_source.xhtml#l00018">18</a> of file <a class="el" href="_transpose_as_reshape_8hpp_source.xhtml">TransposeAsReshape.hpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_layer_8hpp_source.xhtml#l00324">Layer::GetInputSlot()</a>, <a class="el" href="_layer_8hpp_source.xhtml#l00319">Layer::GetName()</a>, <a class="el" href="_layer_8hpp_source.xhtml#l00232">Layer::GetOutputHandler()</a>, <a class="el" href="_layer_8hpp_source.xhtml#l00326">Layer::GetOutputSlot()</a>, <a class="el" href="_transpose_layer_8hpp_source.xhtml#l00038">TransposeLayer::GetPermutation()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00191">TensorInfo::GetShape()</a>, <a class="el" href="_types_8hpp_source.xhtml#l00338">PermutationVector::GetSize()</a>, <a class="el" href="_output_handler_8hpp_source.xhtml#l00042">OutputHandler::GetTensorInfo()</a>, <a class="el" href="_graph_8hpp_source.xhtml#l00471">Graph::InsertNewLayer()</a>, <a class="el" href="_layer_8cpp_source.xhtml#l00145">OutputSlot::MoveAllConnections()</a>, <a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml#abb9b7c45f4778dbcccf54e70f0052a77">TransposeAsReshapeImpl::TransposeAsReshapeImpl()</a>, and <a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml#a18c7efcc9689f0d8dfdd9fe556eda140">TransposeAsReshapeImpl::~TransposeAsReshapeImpl()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keywordflow">if</span> (IsReshape(transpose))</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;            <span class="keyword">const</span> TensorInfo&amp; outInfo = transpose.GetOutputHandler().GetTensorInfo();</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;            <span class="keyword">const</span> std::string name = std::string(<span class="stringliteral">&quot;as_reshape-&quot;</span>) + transpose.GetName();</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;            <span class="keyword">const</span> ReshapeDescriptor descriptor{outInfo.GetShape()};</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;            <span class="comment">// Inserts NewLayer so layers don&#39;t need to be re-sorted.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;            <span class="keyword">auto</span> reshape = graph.InsertNewLayer&lt;ReshapeLayer&gt;(transpose.GetInputSlot(0), descriptor, name.c_str());</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;            <span class="comment">// Bypass transpose. It will be deleted since it&#39;s left unconnected.</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;            transpose.GetOutputSlot().MoveAllConnections(reshape-&gt;GetOutputSlot());</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    }</div></div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/armnn/optimizations/<a class="el" href="_transpose_as_reshape_8hpp_source.xhtml">TransposeAsReshape.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.xhtml">armnn</a></li><li class="navelem"><a class="el" href="namespacearmnn_1_1optimizations.xhtml">optimizations</a></li><li class="navelem"><a class="el" href="classarmnn_1_1optimizations_1_1_transpose_as_reshape_impl.xhtml">TransposeAsReshapeImpl</a></li>
+    <li class="footer">Generated on Wed Nov 23 2022 10:57:43 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>
