From 3f7bd961d19fceda8b5bcd74a8e5f5fff4486de9 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Thu, 14 May 2015 09:50:14 +0000 Subject: [PATCH] [AArch64] Slight naming changes and comments for AArch64NamedImmMapper Reviewers: echristo Subscribers: llvm-commits Follow-up to: http://reviews.llvm.org/D8496#158595 Relates to: http://reviews.llvm.org/rL235089 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237354 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/AArch64/Utils/AArch64BaseInfo.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/Target/AArch64/Utils/AArch64BaseInfo.h b/lib/Target/AArch64/Utils/AArch64BaseInfo.h index 659ea909d7d..15350e762ad 100644 --- a/lib/Target/AArch64/Utils/AArch64BaseInfo.h +++ b/lib/Target/AArch64/Utils/AArch64BaseInfo.h @@ -280,15 +280,16 @@ struct AArch64NamedImmMapper { struct Mapping { const char *Name; uint32_t Value; - uint64_t AvailableForFeatures; - // empty AvailableForFeatures means "always-on" + uint64_t FeatureBitSet; // Set of features this mapping is available for + // Zero value of FeatureBitSet means the mapping is always available + bool isNameEqual(std::string Other, uint64_t FeatureBits=~0ULL) const { - if (AvailableForFeatures && !(AvailableForFeatures & FeatureBits)) + if (FeatureBitSet && !(FeatureBitSet & FeatureBits)) return false; return Name == Other; } bool isValueEqual(uint32_t Other, uint64_t FeatureBits=~0ULL) const { - if (AvailableForFeatures && !(AvailableForFeatures & FeatureBits)) + if (FeatureBitSet && !(FeatureBitSet & FeatureBits)) return false; return Value == Other; } @@ -298,7 +299,9 @@ struct AArch64NamedImmMapper { AArch64NamedImmMapper(const Mapping (&Mappings)[N], uint32_t TooBigImm) : Mappings(&Mappings[0]), NumMappings(N), TooBigImm(TooBigImm) {} + // Maps value to string, depending on availability for FeatureBits given StringRef toString(uint32_t Value, uint64_t FeatureBits, bool &Valid) const; + // Maps string to value, depending on availability for FeatureBits given uint32_t fromString(StringRef Name, uint64_t FeatureBits, bool &Valid) const; /// Many of the instructions allow an alternative assembly form consisting of -- 2.11.0