[cfe-commits] r65146 - /cfe/trunk/lib/CodeGen/README.txt

Daniel Dunbar daniel at zuster.org
Fri Feb 20 11:34:45 PST 2009


Author: ddunbar
Date: Fri Feb 20 13:34:45 2009
New Revision: 65146

URL: http://llvm.org/viewvc/llvm-project?rev=65146&view=rev
Log:
Add some IRgen improvement notes.

Modified:
    cfe/trunk/lib/CodeGen/README.txt

Modified: cfe/trunk/lib/CodeGen/README.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/README.txt?rev=65146&r1=65145&r2=65146&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/README.txt (original)
+++ cfe/trunk/lib/CodeGen/README.txt Fri Feb 20 13:34:45 2009
@@ -30,3 +30,20 @@
 
 //===---------------------------------------------------------------------===//
 
+We should try and avoid generating basic blocks which only contain
+jumps. At -O0, this penalizes us all the way from IRgen (malloc &
+instruction overhead), all the way down through code generation and
+assembly time.
+
+On 176.gcc:expr.ll, it looks like over 12% of basic blocks are just
+direct branches.
+
+//===---------------------------------------------------------------------===//
+
+There are some more places where we could avoid generating unreachable code. For
+example:
+  void f0(int a) { abort(); if (a) printf("hi"); }
+still generates a call to printf. This doesn't occur much in real
+code, but would still be nice to clean up.
+
+//===---------------------------------------------------------------------===//





More information about the cfe-commits mailing list