Mark the Int_eh_sjlj_dispatchsetup pseudo instruction as clobbering all
authorChad Rosier <mcrosier@apple.com>
Tue, 6 Nov 2012 23:05:24 +0000 (23:05 +0000)
committerChad Rosier <mcrosier@apple.com>
Tue, 6 Nov 2012 23:05:24 +0000 (23:05 +0000)
commit1ec8e404fc94cb5b954dbb8756f0b3640fd3796f
tree69fc53ed3c89ebb05e689a2847ac067e84d31ab3
parent8d2c22900659fbd7c0bfb71262161d2a4f10a480
Mark the Int_eh_sjlj_dispatchsetup pseudo instruction as clobbering all
registers.  Previously, the register we being marked as implicitly defined, but
not killed.  In some cases this would cause the register scavenger to spill a
dead register.

Also, use an empty register mask to simplify the logic and to reduce the memory
footprint.
rdar://12592448

llvm-svn: 167499
llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
llvm/lib/Target/ARM/ARMCallingConv.td
llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/ARMInstrThumb.td