[X86] Allow merging of immediates within a basic block for code size savings
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Tue, 11 Aug 2015 14:10:58 +0000 (14:10 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Tue, 11 Aug 2015 14:10:58 +0000 (14:10 +0000)
commitf7e5a53c7de12fc73a6b50a501e55c61d336994c
treedb7826ac76724c0bfabd0908a4ed87edc8bfc174
parent3b4cd46ad5efb8d5c2b67fad351a301f71e0ba3d
[X86] Allow merging of immediates within a basic block for code size savings

First step in preventing immediates that occur more than once within a single
basic block from being pulled into their users, in order to prevent unnecessary
large instruction encoding .Currently enabled only when optimizing for size.

Patch by: zia.ansari@intel.com
Differential Revision: http://reviews.llvm.org/D11363

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244601 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86InstrArithmetic.td
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/immediate_merging.ll [new file with mode: 0644]
test/CodeGen/X86/remat-invalid-liveness.ll [deleted file]