Recommit 'Remove the restriction that MachineSinking is now stopped by
authorWei Mi <wmi@google.com>
Fri, 12 Aug 2016 03:33:22 +0000 (03:33 +0000)
committerWei Mi <wmi@google.com>
Fri, 12 Aug 2016 03:33:22 +0000 (03:33 +0000)
commit7e103d92cc2b6d3e6d53a6353885cac9f00be84f
treebc48ddf7f9bf7aa6b8fcb89397cdb59351202e69
parent2ab5f73d5a9614446421eee895f3d9a9910efcda
Recommit 'Remove the restriction that MachineSinking is now stopped by
"insert_subreg, subreg_to_reg, and reg_sequence" instructions' after
adjusting some unittest checks.

This is to solve PR28852. The restriction was added at 2010 to make better register
coalescing. We assumed that it was not necessary any more. Testing results on x86
supported the assumption.

We will look closely to any performance impact it will bring and will be prepared
to help analyzing performance problem found on other architectures.

Differential Revision: https://reviews.llvm.org/D23210

llvm-svn: 278466
llvm/include/llvm/Target/TargetInstrInfo.h
llvm/test/CodeGen/AArch64/atomic-ops.ll
llvm/test/CodeGen/ARM/2012-08-30-select.ll
llvm/test/CodeGen/X86/2009-04-25-CoalescerBug.ll
llvm/test/CodeGen/X86/MachineSink-SubReg.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/clz.ll
llvm/test/CodeGen/X86/half.ll
llvm/test/CodeGen/X86/machine-cse.ll
llvm/test/CodeGen/X86/uint64-to-float.ll
llvm/test/CodeGen/X86/vec_int_to_fp.ll