[x86] reassociate integer multiplies using machine combiner pass
authorSanjay Patel <spatel@rotateright.com>
Fri, 31 Jul 2015 16:21:55 +0000 (16:21 +0000)
committerSanjay Patel <spatel@rotateright.com>
Fri, 31 Jul 2015 16:21:55 +0000 (16:21 +0000)
commit8ae0800ae15d7016819cb1d96f6540c3a63a28c9
tree2b5827900ffcf48448202c6fff3f9cf051e1e559
parentc136e5507a3f3d0a35e83c9db99c6081735aa5a0
[x86] reassociate integer multiplies using machine combiner pass

Add i16, i32, i64 imul machine instructions to the list of reassociation
candidates.

A new bit of logic is needed to handle integer instructions: they have an
implicit EFLAGS operand, so we have to make sure it's dead in order to do
any reassociation with integer ops.

Differential Revision: http://reviews.llvm.org/D11660

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243756 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrInfo.cpp
test/CodeGen/X86/machine-combiner-int.ll [new file with mode: 0644]