-<p>
-<ul>
-<li> Compiler driver invokes link time optimizer separately.
-<br><br>In this model link time optimizer is not able to take advantage of information
-collected during normal linker's symbol resolution phase. In above example,
-optimizer can not remove <tt>foo2()</tt> without linker's input because it is
-externally visible. And this in turn prohibits optimizer from removing <tt>foo3()</tt>.
-<br><br>
-<li> Use separate tool to collect symbol information from all object file.
-<br><br>In this model, this new separate tool or library replicates linker's
-capabilities to collect information for link time optimizer. Not only such code
-duplication is difficult to justify but it also has several other disadvantages.
-For example, the linking semantics and the features provided by linker on
-various platform are not unique. This means, this new tool needs to support all
-such features and platforms in one super tool or one new separate tool per
-platform is required. This increases maintance cost for link time optimizer
-significantly, which is not necessary. Plus, this approach requires staying
-synchronized with linker developements on various platforms, which is not the
-main focus of link time optimizer. Finally, this approach increases end user's build
-time due to duplicate work done by this separate tool and linker itself.
-</ul>
+ <dl>
+ <dt><b>Compiler driver invokes link time optimizer separately.</b></dt>
+ <dd>In this model the link time optimizer is not able to take advantage of
+ information collected during the linker's normal symbol resolution phase.
+ In the above example, the optimizer can not remove <tt>foo2()</tt> without
+ the linker's input because it is externally visible. This in turn prohibits
+ the optimizer from removing <tt>foo3()</tt>.</dd>
+ <dt><b>Use separate tool to collect symbol information from all object
+ files.</b></dt>
+ <dd>In this model, a new, separate, tool or library replicates the linker's
+ capability to collect information for link time optimization. Not only is
+ this code duplication difficult to justify, but it also has several other
+ disadvantages. For example, the linking semantics and the features
+ provided by the linker on various platform are not unique. This means,
+ this new tool needs to support all such features and platforms in one
+ super tool or a separate tool per platform is required. This increases
+ maintance cost for link time optimizer significantly, which is not
+ necessary. This approach also requires staying synchronized with linker
+ developements on various platforms, which is not the main focus of the link
+ time optimizer. Finally, this approach increases end user's build time due
+ to the duplication of work done by this separate tool and the linker itself.
+ </dd>
+ </dl>