Skip to content

Commit 60bbf27

Browse files
committed
[ARM][NFC] Use FPUKind enum instead of unsigned
Also rename some FPUID variables to FPUKind now it's clear that's what they are. Differential Revision: https://reviews.llvm.org/D146141
1 parent 531e066 commit 60bbf27

File tree

9 files changed

+66
-64
lines changed

9 files changed

+66
-64
lines changed

clang/lib/Basic/Targets/ARM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ bool ARMTargetInfo::initFeatureMap(
452452
}
453453

454454
// get default FPU features
455-
unsigned FPUKind = llvm::ARM::getDefaultFPU(CPU, Arch);
455+
llvm::ARM::FPUKind FPUKind = llvm::ARM::getDefaultFPU(CPU, Arch);
456456
llvm::ARM::getFPUFeatures(FPUKind, TargetFeatures);
457457

458458
// get default Extension features

clang/lib/Driver/ToolChains/Arch/ARM.cpp

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -72,25 +72,25 @@ static void getARMHWDivFeatures(const Driver &D, const Arg *A,
7272
}
7373

7474
// Handle -mfpu=.
75-
static unsigned getARMFPUFeatures(const Driver &D, const Arg *A,
76-
const ArgList &Args, StringRef FPU,
77-
std::vector<StringRef> &Features) {
78-
unsigned FPUID = llvm::ARM::parseFPU(FPU);
79-
if (!llvm::ARM::getFPUFeatures(FPUID, Features))
75+
static llvm::ARM::FPUKind getARMFPUFeatures(const Driver &D, const Arg *A,
76+
const ArgList &Args, StringRef FPU,
77+
std::vector<StringRef> &Features) {
78+
llvm::ARM::FPUKind FPUKind = llvm::ARM::parseFPU(FPU);
79+
if (!llvm::ARM::getFPUFeatures(FPUKind, Features))
8080
D.Diag(clang::diag::err_drv_clang_unsupported) << A->getAsString(Args);
81-
return FPUID;
81+
return FPUKind;
8282
}
8383

8484
// Decode ARM features from string like +[no]featureA+[no]featureB+...
8585
static bool DecodeARMFeatures(const Driver &D, StringRef text, StringRef CPU,
8686
llvm::ARM::ArchKind ArchKind,
8787
std::vector<StringRef> &Features,
88-
unsigned &ArgFPUID) {
88+
llvm::ARM::FPUKind &ArgFPUKind) {
8989
SmallVector<StringRef, 8> Split;
9090
text.split(Split, StringRef("+"), -1, false);
9191

9292
for (StringRef Feature : Split) {
93-
if (!appendArchExtFeatures(CPU, ArchKind, Feature, Features, ArgFPUID))
93+
if (!appendArchExtFeatures(CPU, ArchKind, Feature, Features, ArgFPUKind))
9494
return false;
9595
}
9696
return true;
@@ -112,14 +112,16 @@ static void DecodeARMFeaturesFromCPU(const Driver &D, StringRef CPU,
112112
static void checkARMArchName(const Driver &D, const Arg *A, const ArgList &Args,
113113
llvm::StringRef ArchName, llvm::StringRef CPUName,
114114
std::vector<StringRef> &Features,
115-
const llvm::Triple &Triple, unsigned &ArgFPUID) {
115+
const llvm::Triple &Triple,
116+
llvm::ARM::FPUKind &ArgFPUKind) {
116117
std::pair<StringRef, StringRef> Split = ArchName.split("+");
117118

118119
std::string MArch = arm::getARMArch(ArchName, Triple);
119120
llvm::ARM::ArchKind ArchKind = llvm::ARM::parseArch(MArch);
120121
if (ArchKind == llvm::ARM::ArchKind::INVALID ||
121-
(Split.second.size() && !DecodeARMFeatures(D, Split.second, CPUName,
122-
ArchKind, Features, ArgFPUID)))
122+
(Split.second.size() &&
123+
!DecodeARMFeatures(D, Split.second, CPUName, ArchKind, Features,
124+
ArgFPUKind)))
123125
D.Diag(clang::diag::err_drv_unsupported_option_argument)
124126
<< A->getSpelling() << A->getValue();
125127
}
@@ -128,15 +130,16 @@ static void checkARMArchName(const Driver &D, const Arg *A, const ArgList &Args,
128130
static void checkARMCPUName(const Driver &D, const Arg *A, const ArgList &Args,
129131
llvm::StringRef CPUName, llvm::StringRef ArchName,
130132
std::vector<StringRef> &Features,
131-
const llvm::Triple &Triple, unsigned &ArgFPUID) {
133+
const llvm::Triple &Triple,
134+
llvm::ARM::FPUKind &ArgFPUKind) {
132135
std::pair<StringRef, StringRef> Split = CPUName.split("+");
133136

134137
std::string CPU = arm::getARMTargetCPU(CPUName, ArchName, Triple);
135138
llvm::ARM::ArchKind ArchKind =
136139
arm::getLLVMArchKindForARM(CPU, ArchName, Triple);
137140
if (ArchKind == llvm::ARM::ArchKind::INVALID ||
138-
(Split.second.size() &&
139-
!DecodeARMFeatures(D, Split.second, CPU, ArchKind, Features, ArgFPUID)))
141+
(Split.second.size() && !DecodeARMFeatures(D, Split.second, CPU, ArchKind,
142+
Features, ArgFPUKind)))
140143
D.Diag(clang::diag::err_drv_unsupported_option_argument)
141144
<< A->getSpelling() << A->getValue();
142145
}
@@ -498,8 +501,8 @@ void arm::getARMTargetFeatures(const Driver &D, const llvm::Triple &Triple,
498501
const Arg *CPUArg = Args.getLastArg(options::OPT_mcpu_EQ);
499502
StringRef ArchName;
500503
StringRef CPUName;
501-
unsigned ArchArgFPUID = llvm::ARM::FK_INVALID;
502-
unsigned CPUArgFPUID = llvm::ARM::FK_INVALID;
504+
llvm::ARM::FPUKind ArchArgFPUKind = llvm::ARM::FK_INVALID;
505+
llvm::ARM::FPUKind CPUArgFPUKind = llvm::ARM::FK_INVALID;
503506

504507
// Check -mcpu. ClangAs gives preference to -Wa,-mcpu=.
505508
if (WaCPU) {
@@ -519,13 +522,13 @@ void arm::getARMTargetFeatures(const Driver &D, const llvm::Triple &Triple,
519522
ArchName = WaArch->second;
520523
// This will set any features after the base architecture.
521524
checkARMArchName(D, WaArch->first, Args, ArchName, CPUName,
522-
ExtensionFeatures, Triple, ArchArgFPUID);
525+
ExtensionFeatures, Triple, ArchArgFPUKind);
523526
// The base architecture was handled in ToolChain::ComputeLLVMTriple because
524527
// triple is read only by this point.
525528
} else if (ArchArg) {
526529
ArchName = ArchArg->getValue();
527530
checkARMArchName(D, ArchArg, Args, ArchName, CPUName, ExtensionFeatures,
528-
Triple, ArchArgFPUID);
531+
Triple, ArchArgFPUKind);
529532
}
530533

531534
// Add CPU features for generic CPUs
@@ -545,35 +548,35 @@ void arm::getARMTargetFeatures(const Driver &D, const llvm::Triple &Triple,
545548

546549
if (CPUArg)
547550
checkARMCPUName(D, CPUArg, Args, CPUName, ArchName, ExtensionFeatures,
548-
Triple, CPUArgFPUID);
551+
Triple, CPUArgFPUKind);
549552

550553
// TODO Handle -mtune=. Suppress -Wunused-command-line-argument as a
551554
// longstanding behavior.
552555
(void)Args.getLastArg(options::OPT_mtune_EQ);
553556

554557
// Honor -mfpu=. ClangAs gives preference to -Wa,-mfpu=.
555-
unsigned FPUID = llvm::ARM::FK_INVALID;
558+
llvm::ARM::FPUKind FPUKind = llvm::ARM::FK_INVALID;
556559
const Arg *FPUArg = Args.getLastArg(options::OPT_mfpu_EQ);
557560
if (WaFPU) {
558561
if (FPUArg)
559562
D.Diag(clang::diag::warn_drv_unused_argument)
560563
<< FPUArg->getAsString(Args);
561564
(void)getARMFPUFeatures(D, WaFPU->first, Args, WaFPU->second, Features);
562565
} else if (FPUArg) {
563-
FPUID = getARMFPUFeatures(D, FPUArg, Args, FPUArg->getValue(), Features);
566+
FPUKind = getARMFPUFeatures(D, FPUArg, Args, FPUArg->getValue(), Features);
564567
} else if (Triple.isAndroid() && getARMSubArchVersionNumber(Triple) >= 7) {
565568
const char *AndroidFPU = "neon";
566-
FPUID = llvm::ARM::parseFPU(AndroidFPU);
567-
if (!llvm::ARM::getFPUFeatures(FPUID, Features))
569+
FPUKind = llvm::ARM::parseFPU(AndroidFPU);
570+
if (!llvm::ARM::getFPUFeatures(FPUKind, Features))
568571
D.Diag(clang::diag::err_drv_clang_unsupported)
569572
<< std::string("-mfpu=") + AndroidFPU;
570573
} else {
571574
if (!ForAS) {
572575
std::string CPU = arm::getARMTargetCPU(CPUName, ArchName, Triple);
573576
llvm::ARM::ArchKind ArchKind =
574577
arm::getLLVMArchKindForARM(CPU, ArchName, Triple);
575-
FPUID = llvm::ARM::getDefaultFPU(CPU, ArchKind);
576-
(void)llvm::ARM::getFPUFeatures(FPUID, Features);
578+
FPUKind = llvm::ARM::getDefaultFPU(CPU, ArchKind);
579+
(void)llvm::ARM::getFPUFeatures(FPUKind, Features);
577580
}
578581
}
579582

@@ -631,9 +634,9 @@ void arm::getARMTargetFeatures(const Driver &D, const llvm::Triple &Triple,
631634
// above call.
632635
Features.insert(Features.end(), {"-dotprod", "-fp16fml", "-bf16", "-mve",
633636
"-mve.fp", "-fpregs"});
634-
} else if (FPUID == llvm::ARM::FK_NONE ||
635-
ArchArgFPUID == llvm::ARM::FK_NONE ||
636-
CPUArgFPUID == llvm::ARM::FK_NONE) {
637+
} else if (FPUKind == llvm::ARM::FK_NONE ||
638+
ArchArgFPUKind == llvm::ARM::FK_NONE ||
639+
CPUArgFPUKind == llvm::ARM::FK_NONE) {
637640
// -mfpu=none, -march=armvX+nofp or -mcpu=X+nofp is *very* similar to
638641
// -mfloat-abi=soft, only that it should not disable MVE-I. They disable the
639642
// FPU, but not the FPU registers, thus MVE-I, which depends only on the

llvm/include/llvm/MC/MCStreamer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class ARMTargetStreamer : public MCTargetStreamer {
157157
virtual void emitTextAttribute(unsigned Attribute, StringRef String);
158158
virtual void emitIntTextAttribute(unsigned Attribute, unsigned IntValue,
159159
StringRef StringValue = "");
160-
virtual void emitFPU(unsigned FPU);
160+
virtual void emitFPU(ARM::FPUKind FPU);
161161
virtual void emitArch(ARM::ArchKind Arch);
162162
virtual void emitArchExtension(uint64_t ArchExt);
163163
virtual void emitObjectArch(ARM::ArchKind Arch);

llvm/include/llvm/TargetParser/ARMTargetParser.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ struct ArchNames {
181181
StringRef Name;
182182
StringRef CPUAttr; // CPU class in build attributes.
183183
StringRef ArchFeature;
184-
unsigned DefaultFPU;
184+
FPUKind DefaultFPU;
185185
uint64_t ArchBaseExtensions;
186186
ArchKind ID;
187187
ARMBuildAttrs::CPUArch ArchAttr; // Arch ID in build attributes.
@@ -213,12 +213,12 @@ inline ArchKind &operator--(ArchKind &Kind) {
213213
}
214214

215215
// Information by ID
216-
StringRef getFPUName(unsigned FPUKind);
217-
FPUVersion getFPUVersion(unsigned FPUKind);
218-
NeonSupportLevel getFPUNeonSupportLevel(unsigned FPUKind);
219-
FPURestriction getFPURestriction(unsigned FPUKind);
216+
StringRef getFPUName(FPUKind FPUKind);
217+
FPUVersion getFPUVersion(FPUKind FPUKind);
218+
NeonSupportLevel getFPUNeonSupportLevel(FPUKind FPUKind);
219+
FPURestriction getFPURestriction(FPUKind FPUKind);
220220

221-
bool getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features);
221+
bool getFPUFeatures(FPUKind FPUKind, std::vector<StringRef> &Features);
222222
bool getHWDivFeatures(uint64_t HWDivKind, std::vector<StringRef> &Features);
223223
bool getExtensionFeatures(uint64_t Extensions,
224224
std::vector<StringRef> &Features);
@@ -231,19 +231,19 @@ StringRef getArchExtName(uint64_t ArchExtKind);
231231
StringRef getArchExtFeature(StringRef ArchExt);
232232
bool appendArchExtFeatures(StringRef CPU, ARM::ArchKind AK, StringRef ArchExt,
233233
std::vector<StringRef> &Features,
234-
unsigned &ArgFPUKind);
234+
FPUKind &ArgFPUKind);
235235
ArchKind convertV9toV8(ArchKind AK);
236236

237237
// Information by Name
238-
unsigned getDefaultFPU(StringRef CPU, ArchKind AK);
238+
FPUKind getDefaultFPU(StringRef CPU, ArchKind AK);
239239
uint64_t getDefaultExtensions(StringRef CPU, ArchKind AK);
240240
StringRef getDefaultCPU(StringRef Arch);
241241
StringRef getCanonicalArchName(StringRef Arch);
242242
StringRef getFPUSynonym(StringRef FPU);
243243

244244
// Parser
245245
uint64_t parseHWDiv(StringRef HWDiv);
246-
unsigned parseFPU(StringRef FPU);
246+
FPUKind parseFPU(StringRef FPU);
247247
ArchKind parseArch(StringRef Arch);
248248
uint64_t parseArchExt(StringRef ArchExt);
249249
ArchKind parseCPUArch(StringRef CPU);

llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11766,7 +11766,7 @@ bool ARMAsmParser::parseDirectiveFPU(SMLoc L) {
1176611766
SMLoc FPUNameLoc = getTok().getLoc();
1176711767
StringRef FPU = getParser().parseStringToEndOfStatement().trim();
1176811768

11769-
unsigned ID = ARM::parseFPU(FPU);
11769+
ARM::FPUKind ID = ARM::parseFPU(FPU);
1177011770
std::vector<StringRef> Features;
1177111771
if (!ARM::getFPUFeatures(ID, Features))
1177211772
return Error(FPUNameLoc, "Unknown FPU name");

llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class ARMTargetAsmStreamer : public ARMTargetStreamer {
9393
void emitArch(ARM::ArchKind Arch) override;
9494
void emitArchExtension(uint64_t ArchExt) override;
9595
void emitObjectArch(ARM::ArchKind Arch) override;
96-
void emitFPU(unsigned FPU) override;
96+
void emitFPU(ARM::FPUKind FPU) override;
9797
void emitInst(uint32_t Inst, char Suffix = '\0') override;
9898
void finishAttributeSection() override;
9999

@@ -248,7 +248,7 @@ void ARMTargetAsmStreamer::emitObjectArch(ARM::ArchKind Arch) {
248248
OS << "\t.object_arch\t" << ARM::getArchName(Arch) << '\n';
249249
}
250250

251-
void ARMTargetAsmStreamer::emitFPU(unsigned FPU) {
251+
void ARMTargetAsmStreamer::emitFPU(ARM::FPUKind FPU) {
252252
OS << "\t.fpu\t" << ARM::getFPUName(FPU) << "\n";
253253
}
254254

@@ -382,7 +382,7 @@ void ARMTargetAsmStreamer::emitARMWinCFICustom(unsigned Opcode) {
382382
class ARMTargetELFStreamer : public ARMTargetStreamer {
383383
private:
384384
StringRef CurrentVendor;
385-
unsigned FPU = ARM::FK_INVALID;
385+
ARM::FPUKind FPU = ARM::FK_INVALID;
386386
ARM::ArchKind Arch = ARM::ArchKind::INVALID;
387387
ARM::ArchKind EmittedArch = ARM::ArchKind::INVALID;
388388

@@ -414,7 +414,7 @@ class ARMTargetELFStreamer : public ARMTargetStreamer {
414414
StringRef StringValue) override;
415415
void emitArch(ARM::ArchKind Arch) override;
416416
void emitObjectArch(ARM::ArchKind Arch) override;
417-
void emitFPU(unsigned FPU) override;
417+
void emitFPU(ARM::FPUKind FPU) override;
418418
void emitInst(uint32_t Inst, char Suffix = '\0') override;
419419
void finishAttributeSection() override;
420420
void emitLabel(MCSymbol *Symbol) override;
@@ -928,9 +928,7 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
928928
}
929929
}
930930

931-
void ARMTargetELFStreamer::emitFPU(unsigned Value) {
932-
FPU = Value;
933-
}
931+
void ARMTargetELFStreamer::emitFPU(ARM::FPUKind Value) { FPU = Value; }
934932

935933
void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
936934
ARMELFStreamer &S = getStreamer();

llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ void ARMTargetStreamer::emitIntTextAttribute(unsigned Attribute,
111111
void ARMTargetStreamer::emitArch(ARM::ArchKind Arch) {}
112112
void ARMTargetStreamer::emitArchExtension(uint64_t ArchExt) {}
113113
void ARMTargetStreamer::emitObjectArch(ARM::ArchKind Arch) {}
114-
void ARMTargetStreamer::emitFPU(unsigned FPU) {}
114+
void ARMTargetStreamer::emitFPU(ARM::FPUKind FPU) {}
115115
void ARMTargetStreamer::finishAttributeSection() {}
116116
void ARMTargetStreamer::annotateTLSDescriptorSequence(
117117
const MCSymbolRefExpr *SRE) {}

llvm/lib/TargetParser/ARMTargetParser.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ ARM::ProfileKind ARM::parseArchProfile(StringRef Arch) {
147147
return getProfileKind(parseArch(Arch));
148148
}
149149

150-
bool ARM::getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features) {
150+
bool ARM::getFPUFeatures(ARM::FPUKind FPUKind,
151+
std::vector<StringRef> &Features) {
151152

152153
if (FPUKind >= FK_LAST || FPUKind == FK_INVALID)
153154
return false;
@@ -211,7 +212,7 @@ bool ARM::getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features) {
211212
return true;
212213
}
213214

214-
unsigned ARM::parseFPU(StringRef FPU) {
215+
ARM::FPUKind ARM::parseFPU(StringRef FPU) {
215216
StringRef Syn = getFPUSynonym(FPU);
216217
for (const auto &F : FPUNames) {
217218
if (Syn == F.Name)
@@ -220,7 +221,7 @@ unsigned ARM::parseFPU(StringRef FPU) {
220221
return FK_INVALID;
221222
}
222223

223-
ARM::NeonSupportLevel ARM::getFPUNeonSupportLevel(unsigned FPUKind) {
224+
ARM::NeonSupportLevel ARM::getFPUNeonSupportLevel(ARM::FPUKind FPUKind) {
224225
if (FPUKind >= FK_LAST)
225226
return NeonSupportLevel::None;
226227
return FPUNames[FPUKind].NeonSupport;
@@ -243,33 +244,33 @@ StringRef ARM::getFPUSynonym(StringRef FPU) {
243244
.Default(FPU);
244245
}
245246

246-
StringRef ARM::getFPUName(unsigned FPUKind) {
247+
StringRef ARM::getFPUName(ARM::FPUKind FPUKind) {
247248
if (FPUKind >= FK_LAST)
248249
return StringRef();
249250
return FPUNames[FPUKind].Name;
250251
}
251252

252-
ARM::FPUVersion ARM::getFPUVersion(unsigned FPUKind) {
253+
ARM::FPUVersion ARM::getFPUVersion(ARM::FPUKind FPUKind) {
253254
if (FPUKind >= FK_LAST)
254255
return FPUVersion::NONE;
255256
return FPUNames[FPUKind].FPUVer;
256257
}
257258

258-
ARM::FPURestriction ARM::getFPURestriction(unsigned FPUKind) {
259+
ARM::FPURestriction ARM::getFPURestriction(ARM::FPUKind FPUKind) {
259260
if (FPUKind >= FK_LAST)
260261
return FPURestriction::None;
261262
return FPUNames[FPUKind].Restriction;
262263
}
263264

264-
unsigned ARM::getDefaultFPU(StringRef CPU, ARM::ArchKind AK) {
265+
ARM::FPUKind ARM::getDefaultFPU(StringRef CPU, ARM::ArchKind AK) {
265266
if (CPU == "generic")
266267
return ARM::ARMArchNames[static_cast<unsigned>(AK)].DefaultFPU;
267268

268-
return StringSwitch<unsigned>(CPU)
269+
return StringSwitch<ARM::FPUKind>(CPU)
269270
#define ARM_CPU_NAME(NAME, ID, DEFAULT_FPU, IS_DEFAULT, DEFAULT_EXT) \
270271
.Case(NAME, DEFAULT_FPU)
271272
#include "llvm/TargetParser/ARMTargetParser.def"
272-
.Default(ARM::FK_INVALID);
273+
.Default(ARM::FK_INVALID);
273274
}
274275

275276
uint64_t ARM::getDefaultExtensions(StringRef CPU, ARM::ArchKind AK) {
@@ -362,7 +363,7 @@ StringRef ARM::getArchExtFeature(StringRef ArchExt) {
362363
return StringRef();
363364
}
364365

365-
static unsigned findDoublePrecisionFPU(unsigned InputFPUKind) {
366+
static ARM::FPUKind findDoublePrecisionFPU(ARM::FPUKind InputFPUKind) {
366367
const ARM::FPUName &InputFPU = ARM::FPUNames[InputFPUKind];
367368

368369
// If the input FPU already supports double-precision, then there
@@ -394,7 +395,7 @@ static unsigned findDoublePrecisionFPU(unsigned InputFPUKind) {
394395
bool ARM::appendArchExtFeatures(StringRef CPU, ARM::ArchKind AK,
395396
StringRef ArchExt,
396397
std::vector<StringRef> &Features,
397-
unsigned &ArgFPUID) {
398+
ARM::FPUKind &ArgFPUKind) {
398399

399400
size_t StartingNumFeatures = Features.size();
400401
const bool Negated = stripNegationPrefix(ArchExt);
@@ -417,7 +418,7 @@ bool ARM::appendArchExtFeatures(StringRef CPU, ARM::ArchKind AK,
417418
CPU = "generic";
418419

419420
if (ArchExt == "fp" || ArchExt == "fp.dp") {
420-
unsigned FPUKind;
421+
ARM::FPUKind FPUKind;
421422
if (ArchExt == "fp.dp") {
422423
if (Negated) {
423424
Features.push_back("-fp64");
@@ -429,7 +430,7 @@ bool ARM::appendArchExtFeatures(StringRef CPU, ARM::ArchKind AK,
429430
} else {
430431
FPUKind = getDefaultFPU(CPU, AK);
431432
}
432-
ArgFPUID = FPUKind;
433+
ArgFPUKind = FPUKind;
433434
return ARM::getFPUFeatures(FPUKind, Features);
434435
}
435436
return StartingNumFeatures != Features.size();

0 commit comments

Comments
 (0)