Migrate existing backends that care about software floating point
authorEric Christopher <echristo@gmail.com>
Tue, 12 May 2015 01:26:05 +0000 (01:26 +0000)
committerEric Christopher <echristo@gmail.com>
Tue, 12 May 2015 01:26:05 +0000 (01:26 +0000)
commit0552d51c45ca54a27a09cad6f9b0be09be064343
tree5b544ecaa1e4d02cdc191ff5138bba4bdc69f651
parentd1074b0e7f7a667049effc12c6508e178ca38035
Migrate existing backends that care about software floating point
to use the information in the module rather than TargetOptions.

We've had and clang has used the use-soft-float attribute for some
time now so have the backends set a subtarget feature based on
a particular function now that subtargets are created based on
functions and function attributes.

For the one middle end soft float check go ahead and create
an overloadable TargetLowering::useSoftFloat function that
just checks the TargetSubtargetInfo in all cases.

Also remove the command line option that hard codes whether or
not soft-float is set by using the attribute for all of the
target specific test cases - for the generic just go ahead and
add the attribute in the one case that showed up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237079 91177308-0d34-0410-b5e6-96231b3b80d8
28 files changed:
include/llvm/CodeGen/CommandFlags.h
include/llvm/Target/TargetLowering.h
include/llvm/Target/TargetOptions.h
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/Target/ARM/ARM.td
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMSubtarget.cpp
lib/Target/ARM/ARMSubtarget.h
lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
lib/Target/Mips/MipsTargetMachine.cpp
lib/Target/TargetMachine.cpp
lib/Target/X86/X86.td
lib/Target/X86/X86FastISel.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86Subtarget.cpp
lib/Target/X86/X86Subtarget.h
lib/Target/X86/X86TargetMachine.cpp
test/CodeGen/ARM/vfp-libcalls.ll
test/CodeGen/Generic/2009-03-29-SoftFloatVectorExtract.ll
test/CodeGen/X86/cvt16.ll
test/CodeGen/X86/floor-soft-float.ll
test/CodeGen/X86/soft-fp.ll
tools/llc/llc.cpp
tools/lli/lli.cpp