git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134626
91177308-0d34-0410-b5e6-
96231b3b80d8
// ARM Subtarget state.
//
// ARM Subtarget state.
//
-def ModeThumb : SubtargetFeature<"thumb", "IsThumb", "true",
+def ModeThumb : SubtargetFeature<"thumb-mode", "InThumbMode", "true",
"Thumb mode">;
//===----------------------------------------------------------------------===//
"Thumb mode">;
//===----------------------------------------------------------------------===//
, SlowFPVMLx(false)
, HasVMLxForwarding(false)
, SlowFPBrcc(false)
, SlowFPVMLx(false)
, HasVMLxForwarding(false)
, SlowFPBrcc(false)
, HasThumb2(false)
, NoARM(false)
, PostRAScheduler(false)
, HasThumb2(false)
, NoARM(false)
, PostRAScheduler(false)
/// SlowFPBrcc - True if floating point compare + branch is slow.
bool SlowFPBrcc;
/// SlowFPBrcc - True if floating point compare + branch is slow.
bool SlowFPBrcc;
- /// IsThumb - True if we are in thumb mode, false if in ARM mode.
- bool IsThumb;
+ /// InThumbMode - True if we are in thumb mode, false if in ARM mode.
+ bool InThumbMode;
/// HasThumb2 - True if Thumb2 instructions are supported.
bool HasThumb2;
/// HasThumb2 - True if Thumb2 instructions are supported.
bool HasThumb2;
bool isAPCS_ABI() const { return TargetABI == ARM_ABI_APCS; }
bool isAAPCS_ABI() const { return TargetABI == ARM_ABI_AAPCS; }
bool isAPCS_ABI() const { return TargetABI == ARM_ABI_APCS; }
bool isAAPCS_ABI() const { return TargetABI == ARM_ABI_AAPCS; }
- bool isThumb() const { return IsThumb; }
- bool isThumb1Only() const { return IsThumb && !HasThumb2; }
- bool isThumb2() const { return IsThumb && HasThumb2; }
+ bool isThumb() const { return InThumbMode; }
+ bool isThumb1Only() const { return InThumbMode && !HasThumb2; }
+ bool isThumb2() const { return InThumbMode && HasThumb2; }
bool hasThumb2() const { return HasThumb2; }
bool isR9Reserved() const { return IsR9Reserved; }
bool hasThumb2() const { return HasThumb2; }
bool isR9Reserved() const { return IsR9Reserved; }
unsigned Len = TT.size();
unsigned Idx = 0;
unsigned Len = TT.size();
unsigned Idx = 0;
+ // FIXME: Enahnce Triple helper class to extract ARM version.
bool isThumb = false;
if (Len >= 5 && TT.substr(0, 4) == "armv")
Idx = 4;
bool isThumb = false;
if (Len >= 5 && TT.substr(0, 4) == "armv")
Idx = 4;
if (isThumb) {
if (ARMArchFeature.empty())
if (isThumb) {
if (ARMArchFeature.empty())
- ARMArchFeature = "+thumb";
+ ARMArchFeature = "+thumb-mode";
- ARMArchFeature += ",+thumb";
+ ARMArchFeature += ",+thumb-mode";