From b4681638695e2e778ee6f1dd6448251ba3fde504 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Fri, 1 Jun 2007 23:04:28 +0000 Subject: Fancier algorithm in tail-merge comment implemented, so remove comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37393 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/README.txt | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'lib/CodeGen/README.txt') diff --git a/lib/CodeGen/README.txt b/lib/CodeGen/README.txt index 419f885fee..4fff15c1e3 100644 --- a/lib/CodeGen/README.txt +++ b/lib/CodeGen/README.txt @@ -143,21 +143,3 @@ load [T + 7] ... 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). -- cgit v1.2.3