mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
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
This commit is contained in:
@@ -100,6 +100,9 @@ protected:
|
||||
/// InThumbMode - True if compiling for Thumb, false for ARM.
|
||||
bool InThumbMode;
|
||||
|
||||
/// UseSoftFloat - True if we're using software floating point features.
|
||||
bool UseSoftFloat;
|
||||
|
||||
/// HasThumb2 - True if Thumb2 instructions are supported.
|
||||
bool HasThumb2;
|
||||
|
||||
@@ -393,6 +396,7 @@ public:
|
||||
bool isAPCS_ABI() const;
|
||||
bool isAAPCS_ABI() const;
|
||||
|
||||
bool useSoftFloat() const { return UseSoftFloat; }
|
||||
bool isThumb() const { return InThumbMode; }
|
||||
bool isThumb1Only() const { return InThumbMode && !HasThumb2; }
|
||||
bool isThumb2() const { return InThumbMode && HasThumb2; }
|
||||
|
||||
Reference in New Issue
Block a user