[llvm-commits] [llvm] r110543 - /llvm/trunk/lib/Target/README.txt

Nick Lewycky nicholas at mxc.ca
Sun Aug 8 00:04:25 PDT 2010


Author: nicholas
Date: Sun Aug  8 02:04:25 2010
New Revision: 110543

URL: http://llvm.org/viewvc/llvm-project?rev=110543&view=rev
Log:
Add optimization to Target/README.txt.

Modified:
    llvm/trunk/lib/Target/README.txt

Modified: llvm/trunk/lib/Target/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=110543&r1=110542&r2=110543&view=diff
==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Sun Aug  8 02:04:25 2010
@@ -1919,5 +1919,21 @@
 	ret
 .LBB0_2:
 	jmp	foo  # TAILCALL
+//===---------------------------------------------------------------------===//
+Given a branch where the two target blocks are identical ("ret i32 %b" in
+both), simplifycfg will simplify them away. But not so for a switch statement:
+
+define i32 @f(i32 %a, i32 %b) nounwind readnone {
+entry:
+        switch i32 %a, label %bb3 [
+                i32 4, label %bb
+                i32 6, label %bb
+        ]
+
+bb:             ; preds = %entry, %entry
+        ret i32 %b
 
+bb3:            ; preds = %entry
+        ret i32 %b
+}
 //===---------------------------------------------------------------------===//





More information about the llvm-commits mailing list