Refactor target hook for tail duplication as requested by Chris.
authorBob Wilson <bob.wilson@apple.com>
Tue, 24 Nov 2009 23:35:49 +0000 (23:35 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 24 Nov 2009 23:35:49 +0000 (23:35 +0000)
commitf8c4cfb7cc330234112e1378dac6424d9956add0
treeca74c965c92405a6fdcaa58885369ca5078d781e
parentf7801b493ef94c3a7edf8d57cc564f08fce6e624
Refactor target hook for tail duplication as requested by Chris.
Make tail duplication of indirect branches much more aggressive (for targets
that indicate that it is profitable), based on further experience with
this transformation.  I compiled 3 large applications with and without
this more aggressive tail duplication and measured minimal changes in code
size.  ("size" on Darwin seems to round the text size up to the nearest
page boundary, so I can only say that any code size increase was less than
one 4k page.) Radar 7421267.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89814 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/BranchFolding.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.h