Spiller may unfold load / mod / store instructions as an optimization when the would...
authorEvan Cheng <evan.cheng@apple.com>
Tue, 17 Mar 2009 01:23:09 +0000 (01:23 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 17 Mar 2009 01:23:09 +0000 (01:23 +0000)
commite47b0089d92497e7726516610ff6f925d6828569
treed0e42df0e704954a17b5a602172145c97c217211
parent7ea02ffe918baff29a39981276e83b0e845ede03
Spiller may unfold load / mod / store instructions as an optimization when the would be loaded value is available in a register. It needs to check if it's legal to clobber the register. Also, the register can contain values of multiple spill slots, make sure to check all instead of just the one being unfolded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67068 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/Spiller.cpp
lib/CodeGen/Spiller.h
test/CodeGen/X86/2009-03-16-SpillerBug.ll [new file with mode: 0644]