[llvm-commits] CVS: llvm-www/demo/DemoInfo.html index.cgi

Chris Lattner sabre at nondot.org
Mon Oct 1 15:23:22 PDT 2007



Changes in directory llvm-www/demo:

DemoInfo.html added (r1.1)
index.cgi updated: 1.78 -> 1.79
---
Log message:

move information about options out to a separate page.


---
Diffs of the changes:  (+77 -21)

 DemoInfo.html |   66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 index.cgi     |   32 +++++++++-------------------
 2 files changed, 77 insertions(+), 21 deletions(-)


Index: llvm-www/demo/DemoInfo.html
diff -c /dev/null llvm-www/demo/DemoInfo.html:1.1
*** /dev/null	Mon Oct  1 17:22:50 2007
--- llvm-www/demo/DemoInfo.html	Mon Oct  1 17:22:39 2007
***************
*** 0 ****
--- 1,66 ----
+ 
+ <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="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>
+ 


Index: llvm-www/demo/index.cgi
diff -u llvm-www/demo/index.cgi:1.78 llvm-www/demo/index.cgi:1.79
--- llvm-www/demo/index.cgi:1.78	Mon Oct  1 14:36:08 2007
+++ llvm-www/demo/index.cgi	Mon Oct  1 17:22:39 2007
@@ -10,7 +10,6 @@
 $| = 1;
 
 my $ROOT = "/tmp/webcompile";
-#my $ROOT = "/home/vadve/lattner/webcompile";
 
 open( STDERR, ">&STDOUT" ) or die "can't redirect stderr to stdout";
 
@@ -175,6 +174,8 @@
 # Start the user out with something valid if no code.
 $source = $defaultsrc if (!defined($source));
 
+print '<table border="0"><tr><td>';
+
 print $c->textarea(
     -name    => "source",
     -rows    => 16,
@@ -194,46 +195,35 @@
     -default => 'C'
   );
 
-print '<p>';
-print '<table border><tr><td wdith="30%">';
+print '\n<p></td><td valign=top>';
+
+print "<center><h3>Options</h3></center>";
 
 print $c->checkbox(
     -name  => 'cxxdemangle',
     -label => 'Demangle C++ names with c++filt'
-  ),'</td><td width="70%">';
-print
-"<p>Click here if you want Bitter Melon to run the resulting code through c++filt.  Warning, the LLVM code produced will probably not be lexically valid, but it will be easier to understand.</p></td></tr><tr><td>";
+  ),' <a href="DemoInfo.html#demangle">?</a><p>';
 
 print $c->checkbox(
     -name  => 'linkopt',
     -label => 'Run link-time optimizer',
     -checked => 'checked'
-  ),"</td><td>";
-print
-"<p>Bitter Melon can also run the link-time optimizer for you, if you like (but she won't link your code with any libraries).  Note that you have to define 'main' in your program for this to make much of a difference.</p>";
-print "</td></tr><tr><td>";
+  ),' <a href="DemoInfo.html#lto">?</a><p>';
 
 print $c->checkbox(
     -name  => 'showstats',
     -label => 'Show detailed pass statistics'
-  ), "</td><td>";
-print
-"<p>Would you believe that BitterMelon even has a stopwatch? Click here to get detailed compilation statistic and timings from each pass.</p>";
-print "</td></tr><tr><td>";
+  ), ' <a href="DemoInfo.html#stats">?</a><p>';
 
 print $c->checkbox(
     -name => 'showbcanalysis',
     -label => 'Show detailed bytecode analysis'
-  ),"</td><td>";
-print "<p>And further, the cat can even produce detailed information about the bytecode file generated! Click here to get a detailed description of the various artifacts in the bytecode file your program generates.</p>";
-
-print "</td></tr><tr><td>";
+  ),' <a href="DemoInfo.html#bcanalyzer">?</a><p>';
 
 print $c->checkbox(
     -name => 'showllvm2cpp',
-    -label => 'Show corresponding LLVM C++ code'
-  ),"</td><td>";
-print "<p>And, BitterMelon, that fabulously talented cat can even turn your bytecode back into LLVM C++ that would produce the same bytecode! Click here to get a C++ program that generates the equivalent bytecode for your program by direct LLVM IR calls.</p>";
+    -label => 'Show LLVM C++ API code'
+  ), ' <a href="DemoInfo.html#llvm2cpp">?</a><p>';
 
 print "</td></tr></table>";
 






More information about the llvm-commits mailing list