Add variants of the dispatchsetup pseudo for Thumb and !VFP. <rdar://10620138>
authorBob Wilson <bob.wilson@apple.com>
Thu, 22 Dec 2011 23:39:48 +0000 (23:39 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 22 Dec 2011 23:39:48 +0000 (23:39 +0000)
commitf4aea8f34946d4d2b101b8e3c6db95c18be80173
tree7bca960b011b52d1bfb36e07768c3615ca38247f
parentbfbc9fcb8330e00f5fd6d1a52131950eb69be934
Add variants of the dispatchsetup pseudo for Thumb and !VFP. <rdar://10620138>

My change r146949 added register clobbers to the eh_sjlj_dispatchsetup pseudo
instruction, but on Thumb1 some of those registers cannot be used.  This
caused massive failures on the testsuite when compiling for Thumb1.  While
fixing that, I noticed that the eh_sjlj_setjmp instruction has a "nofp"
variant, and I realized that dispatchsetup needs the same thing, so I have
added that as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147204 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td