llvm-capstone/clang/www/demo/DemoInfo.html
Stephan T. Lavavej 2e4f1e112d [www] Change URLs to HTTPS.
This changes most URLs in llvm's html files to HTTPS. Most changes were
search-and-replace with manual verification; some changes were manual.
For a few URLs, the websites were performing redirects or had changed
their anchors; I fixed those up manually. This consistently uses the
official https://wg21.link redirector. This also strips trailing
whitespace and fixes a couple of typos.

Fixes D69363.

There are a very small number of dead links for which I don't know any
replacements (they are equally dead as HTTP or HTTPS):

https://llvm.org/cmds/llvm2cpp.html
https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4
https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4
https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov
https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4
https://llvm.org/perf/db_default/v4/nts/22463
https://polly.llvm.org/documentation/memaccess.html
2019-10-24 13:25:15 -07:00

83 lines
2.3 KiB
HTML

<html>
<head>
<title>
Demo page information
</title>
</head>
<body>
<h1>Demo page information</h1>
<p>Press "back" or <a href=".">click here</a> to return to the demo
page.</p>
<h2><a name="hints">Hints and Advice</a></h2>
<ul>
<li>The generated LLVM code will be easier to read if
you use stdio (e.g., printf) than iostreams (e.g., std::cout).</li>
<li>Unused inline functions and methods are not generated. Instead
of '<tt>class foo { void bar() {}};</tt>',
try writing '<tt>class foo { void bar(); }; void foo::bar() {}</tt>'.</li>
<li>If you want to try out a file that uses non-standard header files, you should
preprocess it (e.g., with the <tt>-save-temps</tt> or <tt>-E</tt> options to
<tt>gcc</tt>) then upload the result.</li>
</ul>
<h2><a name="demangle">Demangle C++ names with C++ filt</a></h2>
<p>
Select this option if you want to run the output LLVM IR through "c++filt",
which converts 'mangled' C++ names to their unmangled version.
Note that LLVM code produced will not be lexically valid, but it will
be easier to understand.
</p>
<h2><a name="lto">Run link-time optimizer</a></h2>
<p>
Select this option to run the LLVM link-time optimizer, which is designed to
optimize across files in your application. Since the demo page doesn't allow
you to upload multiple files at once, and does not link in any libraries, we
configured the demo page optimizer to assume there are no calls
coming in from outside the source file, allowing it to optimize more
aggressively.</p>
<p>Note that you have to define 'main' in your program for this
to make much of a difference.
</p>
<h2><a name="stats">Show detailed pass statistics</a></h2>
<p>
Select this option to enable compilation timings and statistics from various
optimizers.</p>
<h2><a name="bcanalyzer">Analyze generated bytecode</a></h2>
<p>
Select this option to run the <a
href="https://llvm.org/docs/CommandGuide/llvm-bcanalyzer.html">llvm-bcanalyzer</a> tool
on the generated bytecode, which introspects into the format of the .bc file
itself. </p>
<h2><a name="llvm2cpp">Show C++ API code</a></h2>
<p>
Select this option to run the <a
href="https://llvm.org/cmds/llvm2cpp.html">llvm2cpp</a> tool
on the generated bytecode, which auto generates the C++ API calls that could
be used to create the .bc file.
</p>
</body>
</html>