84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			84 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="http://llvm.org/cmds/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="http://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>
 | |
| 
 |