summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/Utils
diff options
context:
space:
mode:
authorMichael Kuperstein <michael.m.kuperstein@intel.com>2015-02-19 11:38:11 +0000
committerMichael Kuperstein <michael.m.kuperstein@intel.com>2015-02-19 11:38:11 +0000
commitefd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17 (patch)
treec0afe1a7e7975789a575b441ac8e4e988da8f49c /llvm/lib/Target/AArch64/Utils
parent9570ff94f7f19af86a5f0cf3ea2992173980b3d8 (diff)
downloadbcm5719-llvm-efd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17.tar.gz
bcm5719-llvm-efd7a96d2e8ff886fb2a1bc755dd6355b2bb5f17.zip
Reverting r229831 due to multiple ARM/PPC/MIPS build-bot failures.
llvm-svn: 229841
Diffstat (limited to 'llvm/lib/Target/AArch64/Utils')
-rw-r--r--llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp9
-rw-r--r--llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h10
2 files changed, 8 insertions, 11 deletions
diff --git a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
index d127773283f..bc6c7a96f85 100644
--- a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
+++ b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
@@ -14,7 +14,6 @@
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
-#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/Regex.h"
using namespace llvm;
@@ -246,7 +245,7 @@ const AArch64NamedImmMapper::Mapping AArch64SysReg::MRSMapper::MRSPairs[] = {
{"ich_elsr_el2", ICH_ELSR_EL2}
};
-AArch64SysReg::MRSMapper::MRSMapper(const FeatureBitset &FeatureBits)
+AArch64SysReg::MRSMapper::MRSMapper(uint64_t FeatureBits)
: SysRegMapper(FeatureBits) {
InstPairs = &MRSPairs[0];
NumInstPairs = llvm::array_lengthof(MRSPairs);
@@ -270,7 +269,7 @@ const AArch64NamedImmMapper::Mapping AArch64SysReg::MSRMapper::MSRPairs[] = {
{"icc_sgi0r_el1", ICC_SGI0R_EL1}
};
-AArch64SysReg::MSRMapper::MSRMapper(const FeatureBitset &FeatureBits)
+AArch64SysReg::MSRMapper::MSRMapper(uint64_t FeatureBits)
: SysRegMapper(FeatureBits) {
InstPairs = &MSRPairs[0];
NumInstPairs = llvm::array_lengthof(MSRPairs);
@@ -774,7 +773,7 @@ AArch64SysReg::SysRegMapper::fromString(StringRef Name, bool &Valid) const {
}
// Next search for target specific registers
- if (FeatureBits[AArch64::ProcCyclone]) {
+ if (FeatureBits & AArch64::ProcCyclone) {
for (unsigned i = 0; i < array_lengthof(CycloneSysRegPairs); ++i) {
if (CycloneSysRegPairs[i].Name == NameLower) {
Valid = true;
@@ -824,7 +823,7 @@ AArch64SysReg::SysRegMapper::toString(uint32_t Bits) const {
}
// Next search for target specific registers
- if (FeatureBits[AArch64::ProcCyclone]) {
+ if (FeatureBits & AArch64::ProcCyclone) {
for (unsigned i = 0; i < array_lengthof(CycloneSysRegPairs); ++i) {
if (CycloneSysRegPairs[i].Value == Bits) {
return CycloneSysRegPairs[i].Name;
diff --git a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
index a6573c8e95d..c60b09a5f11 100644
--- a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+++ b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
@@ -26,8 +26,6 @@
namespace llvm {
-class FeatureBitset;
-
inline static unsigned getWRegFromXReg(unsigned Reg) {
switch (Reg) {
case AArch64::X0: return AArch64::W0;
@@ -1141,21 +1139,21 @@ namespace AArch64SysReg {
const AArch64NamedImmMapper::Mapping *InstPairs;
size_t NumInstPairs;
- const FeatureBitset &FeatureBits;
+ uint64_t FeatureBits;
- SysRegMapper(const FeatureBitset &FeatureBits) : FeatureBits(FeatureBits) { }
+ SysRegMapper(uint64_t FeatureBits) : FeatureBits(FeatureBits) { }
uint32_t fromString(StringRef Name, bool &Valid) const;
std::string toString(uint32_t Bits) const;
};
struct MSRMapper : SysRegMapper {
static const AArch64NamedImmMapper::Mapping MSRPairs[];
- MSRMapper(const FeatureBitset &FeatureBits);
+ MSRMapper(uint64_t FeatureBits);
};
struct MRSMapper : SysRegMapper {
static const AArch64NamedImmMapper::Mapping MRSPairs[];
- MRSMapper(const FeatureBitset &FeatureBits);
+ MRSMapper(uint64_t FeatureBits);
};
uint32_t ParseGenericRegister(StringRef Name, bool &Valid);
OpenPOWER on IntegriCloud