Local spiller optimization:
authorEvan Cheng <evan.cheng@apple.com>
Fri, 19 Oct 2007 21:23:22 +0000 (21:23 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 19 Oct 2007 21:23:22 +0000 (21:23 +0000)
commit66f716354527c5ab4687a89a1605915e5128a106
tree56c81a5bb8979cc3df924078dcbfb328a5d9ee64
parent80629c85f1041df41b5158ebb03a4725af6ecd90
Local spiller optimization:
Turn a store folding instruction into a load folding instruction. e.g.
     xorl  %edi, %eax
     movl  %eax, -32(%ebp)
     movl  -36(%ebp), %eax
     orl   %eax, -32(%ebp)
=>
     xorl  %edi, %eax
     orl   -36(%ebp), %eax
     mov   %eax, -32(%ebp)
This enables the unfolding optimization for a subsequent instruction which will
also eliminate the newly introduced store instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43192 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/MRegisterInfo.h
lib/CodeGen/VirtRegMap.cpp
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86InstrX86-64.td
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/X86/X86RegisterInfo.h