[llvm-commits] CVS: llvm/lib/CodeGen/README.txt

Dale Johannesen dalej at apple.com
Fri Jun 1 16:04:51 PDT 2007



Changes in directory llvm/lib/CodeGen:

README.txt updated: 1.6 -> 1.7
---
Log message:

Fancier algorithm in tail-merge comment implemented, so remove comment.


---
Diffs of the changes:  (+0 -18)

 README.txt |   18 ------------------
 1 files changed, 18 deletions(-)


Index: llvm/lib/CodeGen/README.txt
diff -u llvm/lib/CodeGen/README.txt:1.6 llvm/lib/CodeGen/README.txt:1.7
--- llvm/lib/CodeGen/README.txt:1.6	Fri May 18 13:46:40 2007
+++ llvm/lib/CodeGen/README.txt	Fri Jun  1 18:04:28 2007
@@ -143,21 +143,3 @@
 ...
 load [T + 15]
 //===---------------------------------------------------------------------===//
-Tail merging issue:
-When we're trying to merge the tails of predecessors of a block I, and there
-are more than 2 predecessors, we don't do it optimally.  Suppose predecessors
-are A,B,C where B and C have 5 instructions in common, and A has 2 in common
-with B or C.  We want to get:
-A:
-  jmp C3
-B:
-  jmp C2
-C:
-C2:  3 common to B and C but not A
-C3:  2 common to all 3
-You get this if B and C are merged first, but currently it might randomly decide
-to merge A and B first, which results in not sharing the C2 instructions.  We 
-could look at all N*(N-1) combinations of predecessors and merge the ones with
-the most instructions in common first.  Usually that will be fast, but it 
-could get slow on big graphs (e.g. large switches tend to have blocks with many 
-predecessors).






More information about the llvm-commits mailing list