Move early tail duplication earlier.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 4 Jul 2011 04:54:22 +0000 (04:54 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 4 Jul 2011 04:54:22 +0000 (04:54 +0000)
commit25483911049304c069b76f0a3b2f4f6b2216ef51
tree1046c5eb3dc83e71b912437ae98b798c8079d386
parent6a9d2b13fdc14d19b27776666cf50684bcfddc8d
Move early tail duplication earlier.

This fixes the issue noted in PR10251 where early tail dup of bbs with
indirectbr would cause a bb to be duplicated into a loop preheader
and then into its predecessors, creating phi nodes with identical
operands just before register allocation.

This helps with jsinterp.o size (__TEXT goes from 163568 to 126656)
and a bit with performance 1.005x faster on sunspider (jits still enabled).

The result on webkit with the jit disabled is more significant: 1.021x faster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134372 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LLVMTargetMachine.cpp