mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-03 14:21:30 +00:00
Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216820 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -457,7 +457,7 @@ public:
|
|||||||
return Offset;
|
return Offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef getValues() const {
|
StringRef getValues() const {
|
||||||
assert(Operation == OpEscape);
|
assert(Operation == OpEscape);
|
||||||
return StringRef(&Values[0], Values.size());
|
return StringRef(&Values[0], Values.size());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,21 +72,21 @@ struct SubtargetInfoKV {
|
|||||||
class SubtargetFeatures {
|
class SubtargetFeatures {
|
||||||
std::vector<std::string> Features; // Subtarget features as a vector
|
std::vector<std::string> Features; // Subtarget features as a vector
|
||||||
public:
|
public:
|
||||||
explicit SubtargetFeatures(const StringRef Initial = "");
|
explicit SubtargetFeatures(StringRef Initial = "");
|
||||||
|
|
||||||
/// Features string accessors.
|
/// Features string accessors.
|
||||||
std::string getString() const;
|
std::string getString() const;
|
||||||
|
|
||||||
/// Adding Features.
|
/// Adding Features.
|
||||||
void AddFeature(const StringRef String);
|
void AddFeature(StringRef String);
|
||||||
|
|
||||||
/// ToggleFeature - Toggle a feature and returns the newly updated feature
|
/// ToggleFeature - Toggle a feature and returns the newly updated feature
|
||||||
/// bits.
|
/// bits.
|
||||||
uint64_t ToggleFeature(uint64_t Bits, const StringRef String,
|
uint64_t ToggleFeature(uint64_t Bits, StringRef String,
|
||||||
ArrayRef<SubtargetFeatureKV> FeatureTable);
|
ArrayRef<SubtargetFeatureKV> FeatureTable);
|
||||||
|
|
||||||
/// Get feature bits of a CPU.
|
/// Get feature bits of a CPU.
|
||||||
uint64_t getFeatureBits(const StringRef CPU,
|
uint64_t getFeatureBits(StringRef CPU,
|
||||||
ArrayRef<SubtargetFeatureKV> CPUTable,
|
ArrayRef<SubtargetFeatureKV> CPUTable,
|
||||||
ArrayRef<SubtargetFeatureKV> FeatureTable);
|
ArrayRef<SubtargetFeatureKV> FeatureTable);
|
||||||
|
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ void native(SmallVectorImpl<char> &path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The root name of \a path if it has one, otherwise "".
|
/// @result The root name of \a path if it has one, otherwise "".
|
||||||
const StringRef root_name(StringRef path);
|
StringRef root_name(StringRef path);
|
||||||
|
|
||||||
/// @brief Get root directory.
|
/// @brief Get root directory.
|
||||||
///
|
///
|
||||||
@@ -217,7 +217,7 @@ const StringRef root_name(StringRef path);
|
|||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The root directory of \a path if it has one, otherwise
|
/// @result The root directory of \a path if it has one, otherwise
|
||||||
/// "".
|
/// "".
|
||||||
const StringRef root_directory(StringRef path);
|
StringRef root_directory(StringRef path);
|
||||||
|
|
||||||
/// @brief Get root path.
|
/// @brief Get root path.
|
||||||
///
|
///
|
||||||
@@ -225,7 +225,7 @@ const StringRef root_directory(StringRef path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The root path of \a path if it has one, otherwise "".
|
/// @result The root path of \a path if it has one, otherwise "".
|
||||||
const StringRef root_path(StringRef path);
|
StringRef root_path(StringRef path);
|
||||||
|
|
||||||
/// @brief Get relative path.
|
/// @brief Get relative path.
|
||||||
///
|
///
|
||||||
@@ -237,7 +237,7 @@ const StringRef root_path(StringRef path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The path starting after root_path if one exists, otherwise "".
|
/// @result The path starting after root_path if one exists, otherwise "".
|
||||||
const StringRef relative_path(StringRef path);
|
StringRef relative_path(StringRef path);
|
||||||
|
|
||||||
/// @brief Get parent path.
|
/// @brief Get parent path.
|
||||||
///
|
///
|
||||||
@@ -249,7 +249,7 @@ const StringRef relative_path(StringRef path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The parent path of \a path if one exists, otherwise "".
|
/// @result The parent path of \a path if one exists, otherwise "".
|
||||||
const StringRef parent_path(StringRef path);
|
StringRef parent_path(StringRef path);
|
||||||
|
|
||||||
/// @brief Get filename.
|
/// @brief Get filename.
|
||||||
///
|
///
|
||||||
@@ -263,7 +263,7 @@ const StringRef parent_path(StringRef path);
|
|||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The filename part of \a path. This is defined as the last component
|
/// @result The filename part of \a path. This is defined as the last component
|
||||||
/// of \a path.
|
/// of \a path.
|
||||||
const StringRef filename(StringRef path);
|
StringRef filename(StringRef path);
|
||||||
|
|
||||||
/// @brief Get stem.
|
/// @brief Get stem.
|
||||||
///
|
///
|
||||||
@@ -281,7 +281,7 @@ const StringRef filename(StringRef path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The stem of \a path.
|
/// @result The stem of \a path.
|
||||||
const StringRef stem(StringRef path);
|
StringRef stem(StringRef path);
|
||||||
|
|
||||||
/// @brief Get extension.
|
/// @brief Get extension.
|
||||||
///
|
///
|
||||||
@@ -297,7 +297,7 @@ const StringRef stem(StringRef path);
|
|||||||
///
|
///
|
||||||
/// @param path Input path.
|
/// @param path Input path.
|
||||||
/// @result The extension of \a path.
|
/// @result The extension of \a path.
|
||||||
const StringRef extension(StringRef path);
|
StringRef extension(StringRef path);
|
||||||
|
|
||||||
/// @brief Check whether the given char is a path separator on the host OS.
|
/// @brief Check whether the given char is a path separator on the host OS.
|
||||||
///
|
///
|
||||||
@@ -308,7 +308,7 @@ bool is_separator(char value);
|
|||||||
/// @brief Return the preferred separator for this platform.
|
/// @brief Return the preferred separator for this platform.
|
||||||
///
|
///
|
||||||
/// @result StringRef of the preferred separator, null-terminated.
|
/// @result StringRef of the preferred separator, null-terminated.
|
||||||
const StringRef get_separator();
|
StringRef get_separator();
|
||||||
|
|
||||||
/// @brief Get the typical temporary directory for the system, e.g.,
|
/// @brief Get the typical temporary directory for the system, e.g.,
|
||||||
/// "/var/tmp" or "C:/TEMP"
|
/// "/var/tmp" or "C:/TEMP"
|
||||||
|
|||||||
@@ -60,13 +60,13 @@ class SpecialCaseList {
|
|||||||
/// Parses the special case list from a file. If Path is empty, returns
|
/// Parses the special case list from a file. If Path is empty, returns
|
||||||
/// an empty special case list. On failure, returns 0 and writes an error
|
/// an empty special case list. On failure, returns 0 and writes an error
|
||||||
/// message to string.
|
/// message to string.
|
||||||
static SpecialCaseList *create(const StringRef Path, std::string &Error);
|
static SpecialCaseList *create(StringRef Path, std::string &Error);
|
||||||
/// Parses the special case list from a memory buffer. On failure, returns
|
/// Parses the special case list from a memory buffer. On failure, returns
|
||||||
/// 0 and writes an error message to string.
|
/// 0 and writes an error message to string.
|
||||||
static SpecialCaseList *create(const MemoryBuffer *MB, std::string &Error);
|
static SpecialCaseList *create(const MemoryBuffer *MB, std::string &Error);
|
||||||
/// Parses the special case list from a file. On failure, reports a fatal
|
/// Parses the special case list from a file. On failure, reports a fatal
|
||||||
/// error.
|
/// error.
|
||||||
static SpecialCaseList *createOrDie(const StringRef Path);
|
static SpecialCaseList *createOrDie(StringRef Path);
|
||||||
|
|
||||||
~SpecialCaseList();
|
~SpecialCaseList();
|
||||||
|
|
||||||
@@ -75,8 +75,8 @@ class SpecialCaseList {
|
|||||||
/// @Section:<E>=@Category
|
/// @Section:<E>=@Category
|
||||||
/// \endcode
|
/// \endcode
|
||||||
/// and @Query satisfies a wildcard expression <E>.
|
/// and @Query satisfies a wildcard expression <E>.
|
||||||
bool inSection(const StringRef Section, const StringRef Query,
|
bool inSection(StringRef Section, StringRef Query,
|
||||||
const StringRef Category = StringRef()) const;
|
StringRef Category = StringRef()) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SpecialCaseList(SpecialCaseList const &) LLVM_DELETED_FUNCTION;
|
SpecialCaseList(SpecialCaseList const &) LLVM_DELETED_FUNCTION;
|
||||||
|
|||||||
@@ -92,9 +92,9 @@ public:
|
|||||||
|
|
||||||
const Target &getTarget() const { return TheTarget; }
|
const Target &getTarget() const { return TheTarget; }
|
||||||
|
|
||||||
const StringRef getTargetTriple() const { return TargetTriple; }
|
StringRef getTargetTriple() const { return TargetTriple; }
|
||||||
const StringRef getTargetCPU() const { return TargetCPU; }
|
StringRef getTargetCPU() const { return TargetCPU; }
|
||||||
const StringRef getTargetFeatureString() const { return TargetFS; }
|
StringRef getTargetFeatureString() const { return TargetFS; }
|
||||||
|
|
||||||
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
||||||
/// a reference to that target's TargetSubtargetInfo-derived member variable.
|
/// a reference to that target's TargetSubtargetInfo-derived member variable.
|
||||||
|
|||||||
@@ -381,10 +381,10 @@ public:
|
|||||||
///
|
///
|
||||||
class DIEString : public DIEValue {
|
class DIEString : public DIEValue {
|
||||||
const DIEValue *Access;
|
const DIEValue *Access;
|
||||||
const StringRef Str;
|
StringRef Str;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DIEString(const DIEValue *Acc, const StringRef S)
|
DIEString(const DIEValue *Acc, StringRef S)
|
||||||
: DIEValue(isString), Access(Acc), Str(S) {}
|
: DIEValue(isString), Access(Acc), Str(S) {}
|
||||||
|
|
||||||
/// getString - Grab the string out of the object.
|
/// getString - Grab the string out of the object.
|
||||||
|
|||||||
@@ -275,11 +275,11 @@ public:
|
|||||||
void addSInt(DIELoc &Die, Optional<dwarf::Form> Form, int64_t Integer);
|
void addSInt(DIELoc &Die, Optional<dwarf::Form> Form, int64_t Integer);
|
||||||
|
|
||||||
/// addString - Add a string attribute data and value.
|
/// addString - Add a string attribute data and value.
|
||||||
void addString(DIE &Die, dwarf::Attribute Attribute, const StringRef Str);
|
void addString(DIE &Die, dwarf::Attribute Attribute, StringRef Str);
|
||||||
|
|
||||||
/// addLocalString - Add a string attribute data and value.
|
/// addLocalString - Add a string attribute data and value.
|
||||||
void addLocalString(DIE &Die, dwarf::Attribute Attribute,
|
void addLocalString(DIE &Die, dwarf::Attribute Attribute,
|
||||||
const StringRef Str);
|
StringRef Str);
|
||||||
|
|
||||||
/// addExpr - Add a Dwarf expression attribute data and value.
|
/// addExpr - Add a Dwarf expression attribute data and value.
|
||||||
void addExpr(DIELoc &Die, dwarf::Form Form, const MCExpr *Expr);
|
void addExpr(DIELoc &Die, dwarf::Form Form, const MCExpr *Expr);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ using namespace llvm;
|
|||||||
|
|
||||||
/// hasFlag - Determine if a feature has a flag; '+' or '-'
|
/// hasFlag - Determine if a feature has a flag; '+' or '-'
|
||||||
///
|
///
|
||||||
static inline bool hasFlag(const StringRef Feature) {
|
static inline bool hasFlag(StringRef Feature) {
|
||||||
assert(!Feature.empty() && "Empty string");
|
assert(!Feature.empty() && "Empty string");
|
||||||
// Get first character
|
// Get first character
|
||||||
char Ch = Feature[0];
|
char Ch = Feature[0];
|
||||||
@@ -37,13 +37,13 @@ static inline bool hasFlag(const StringRef Feature) {
|
|||||||
|
|
||||||
/// StripFlag - Return string stripped of flag.
|
/// StripFlag - Return string stripped of flag.
|
||||||
///
|
///
|
||||||
static inline std::string StripFlag(const StringRef Feature) {
|
static inline std::string StripFlag(StringRef Feature) {
|
||||||
return hasFlag(Feature) ? Feature.substr(1) : Feature;
|
return hasFlag(Feature) ? Feature.substr(1) : Feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// isEnabled - Return true if enable flag; '+'.
|
/// isEnabled - Return true if enable flag; '+'.
|
||||||
///
|
///
|
||||||
static inline bool isEnabled(const StringRef Feature) {
|
static inline bool isEnabled(StringRef Feature) {
|
||||||
assert(!Feature.empty() && "Empty string");
|
assert(!Feature.empty() && "Empty string");
|
||||||
// Get first character
|
// Get first character
|
||||||
char Ch = Feature[0];
|
char Ch = Feature[0];
|
||||||
@@ -53,7 +53,7 @@ static inline bool isEnabled(const StringRef Feature) {
|
|||||||
|
|
||||||
/// Split - Splits a string of comma separated items in to a vector of strings.
|
/// Split - Splits a string of comma separated items in to a vector of strings.
|
||||||
///
|
///
|
||||||
static void Split(std::vector<std::string> &V, const StringRef S) {
|
static void Split(std::vector<std::string> &V, StringRef S) {
|
||||||
SmallVector<StringRef, 3> Tmp;
|
SmallVector<StringRef, 3> Tmp;
|
||||||
S.split(Tmp, ",", -1, false /* KeepEmpty */);
|
S.split(Tmp, ",", -1, false /* KeepEmpty */);
|
||||||
V.assign(Tmp.begin(), Tmp.end());
|
V.assign(Tmp.begin(), Tmp.end());
|
||||||
@@ -81,7 +81,7 @@ static std::string Join(const std::vector<std::string> &V) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Adding features.
|
/// Adding features.
|
||||||
void SubtargetFeatures::AddFeature(const StringRef String) {
|
void SubtargetFeatures::AddFeature(StringRef String) {
|
||||||
// Don't add empty features or features we already have.
|
// Don't add empty features or features we already have.
|
||||||
if (!String.empty())
|
if (!String.empty())
|
||||||
// Convert to lowercase, prepend flag if we don't already have a flag.
|
// Convert to lowercase, prepend flag if we don't already have a flag.
|
||||||
@@ -136,7 +136,7 @@ static void Help(ArrayRef<SubtargetFeatureKV> CPUTable,
|
|||||||
// SubtargetFeatures Implementation
|
// SubtargetFeatures Implementation
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
SubtargetFeatures::SubtargetFeatures(const StringRef Initial) {
|
SubtargetFeatures::SubtargetFeatures(StringRef Initial) {
|
||||||
// Break up string into separate features
|
// Break up string into separate features
|
||||||
Split(Features, Initial);
|
Split(Features, Initial);
|
||||||
}
|
}
|
||||||
@@ -181,7 +181,7 @@ void ClearImpliedBits(uint64_t &Bits, const SubtargetFeatureKV *FeatureEntry,
|
|||||||
/// ToggleFeature - Toggle a feature and returns the newly updated feature
|
/// ToggleFeature - Toggle a feature and returns the newly updated feature
|
||||||
/// bits.
|
/// bits.
|
||||||
uint64_t
|
uint64_t
|
||||||
SubtargetFeatures::ToggleFeature(uint64_t Bits, const StringRef Feature,
|
SubtargetFeatures::ToggleFeature(uint64_t Bits, StringRef Feature,
|
||||||
ArrayRef<SubtargetFeatureKV> FeatureTable) {
|
ArrayRef<SubtargetFeatureKV> FeatureTable) {
|
||||||
|
|
||||||
// Find feature in table.
|
// Find feature in table.
|
||||||
@@ -213,7 +213,7 @@ SubtargetFeatures::ToggleFeature(uint64_t Bits, const StringRef Feature,
|
|||||||
/// getFeatureBits - Get feature bits a CPU.
|
/// getFeatureBits - Get feature bits a CPU.
|
||||||
///
|
///
|
||||||
uint64_t
|
uint64_t
|
||||||
SubtargetFeatures::getFeatureBits(const StringRef CPU,
|
SubtargetFeatures::getFeatureBits(StringRef CPU,
|
||||||
ArrayRef<SubtargetFeatureKV> CPUTable,
|
ArrayRef<SubtargetFeatureKV> CPUTable,
|
||||||
ArrayRef<SubtargetFeatureKV> FeatureTable) {
|
ArrayRef<SubtargetFeatureKV> FeatureTable) {
|
||||||
|
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ bool reverse_iterator::operator==(const reverse_iterator &RHS) const {
|
|||||||
Position == RHS.Position;
|
Position == RHS.Position;
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef root_path(StringRef path) {
|
StringRef root_path(StringRef path) {
|
||||||
const_iterator b = begin(path),
|
const_iterator b = begin(path),
|
||||||
pos = b,
|
pos = b,
|
||||||
e = end(path);
|
e = end(path);
|
||||||
@@ -391,7 +391,7 @@ const StringRef root_path(StringRef path) {
|
|||||||
return StringRef();
|
return StringRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef root_name(StringRef path) {
|
StringRef root_name(StringRef path) {
|
||||||
const_iterator b = begin(path),
|
const_iterator b = begin(path),
|
||||||
e = end(path);
|
e = end(path);
|
||||||
if (b != e) {
|
if (b != e) {
|
||||||
@@ -413,7 +413,7 @@ const StringRef root_name(StringRef path) {
|
|||||||
return StringRef();
|
return StringRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef root_directory(StringRef path) {
|
StringRef root_directory(StringRef path) {
|
||||||
const_iterator b = begin(path),
|
const_iterator b = begin(path),
|
||||||
pos = b,
|
pos = b,
|
||||||
e = end(path);
|
e = end(path);
|
||||||
@@ -442,7 +442,7 @@ const StringRef root_directory(StringRef path) {
|
|||||||
return StringRef();
|
return StringRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef relative_path(StringRef path) {
|
StringRef relative_path(StringRef path) {
|
||||||
StringRef root = root_path(path);
|
StringRef root = root_path(path);
|
||||||
return path.substr(root.size());
|
return path.substr(root.size());
|
||||||
}
|
}
|
||||||
@@ -494,7 +494,7 @@ void append(SmallVectorImpl<char> &path,
|
|||||||
path::append(path, *begin);
|
path::append(path, *begin);
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef parent_path(StringRef path) {
|
StringRef parent_path(StringRef path) {
|
||||||
size_t end_pos = parent_path_end(path);
|
size_t end_pos = parent_path_end(path);
|
||||||
if (end_pos == StringRef::npos)
|
if (end_pos == StringRef::npos)
|
||||||
return StringRef();
|
return StringRef();
|
||||||
@@ -552,11 +552,11 @@ void native(SmallVectorImpl<char> &Path) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef filename(StringRef path) {
|
StringRef filename(StringRef path) {
|
||||||
return *rbegin(path);
|
return *rbegin(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef stem(StringRef path) {
|
StringRef stem(StringRef path) {
|
||||||
StringRef fname = filename(path);
|
StringRef fname = filename(path);
|
||||||
size_t pos = fname.find_last_of('.');
|
size_t pos = fname.find_last_of('.');
|
||||||
if (pos == StringRef::npos)
|
if (pos == StringRef::npos)
|
||||||
@@ -569,7 +569,7 @@ const StringRef stem(StringRef path) {
|
|||||||
return fname.substr(0, pos);
|
return fname.substr(0, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
const StringRef extension(StringRef path) {
|
StringRef extension(StringRef path) {
|
||||||
StringRef fname = filename(path);
|
StringRef fname = filename(path);
|
||||||
size_t pos = fname.find_last_of('.');
|
size_t pos = fname.find_last_of('.');
|
||||||
if (pos == StringRef::npos)
|
if (pos == StringRef::npos)
|
||||||
@@ -594,7 +594,7 @@ bool is_separator(char value) {
|
|||||||
|
|
||||||
static const char preferred_separator_string[] = { preferred_separator, '\0' };
|
static const char preferred_separator_string[] = { preferred_separator, '\0' };
|
||||||
|
|
||||||
const StringRef get_separator() {
|
StringRef get_separator() {
|
||||||
return preferred_separator_string;
|
return preferred_separator_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,8 +48,7 @@ struct SpecialCaseList::Entry {
|
|||||||
|
|
||||||
SpecialCaseList::SpecialCaseList() : Entries() {}
|
SpecialCaseList::SpecialCaseList() : Entries() {}
|
||||||
|
|
||||||
SpecialCaseList *SpecialCaseList::create(
|
SpecialCaseList *SpecialCaseList::create(StringRef Path, std::string &Error) {
|
||||||
const StringRef Path, std::string &Error) {
|
|
||||||
if (Path.empty())
|
if (Path.empty())
|
||||||
return new SpecialCaseList();
|
return new SpecialCaseList();
|
||||||
ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr =
|
ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr =
|
||||||
@@ -69,7 +68,7 @@ SpecialCaseList *SpecialCaseList::create(
|
|||||||
return SCL.release();
|
return SCL.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
SpecialCaseList *SpecialCaseList::createOrDie(const StringRef Path) {
|
SpecialCaseList *SpecialCaseList::createOrDie(StringRef Path) {
|
||||||
std::string Error;
|
std::string Error;
|
||||||
if (SpecialCaseList *SCL = create(Path, Error))
|
if (SpecialCaseList *SCL = create(Path, Error))
|
||||||
return SCL;
|
return SCL;
|
||||||
@@ -157,8 +156,8 @@ bool SpecialCaseList::parse(const MemoryBuffer *MB, std::string &Error) {
|
|||||||
|
|
||||||
SpecialCaseList::~SpecialCaseList() {}
|
SpecialCaseList::~SpecialCaseList() {}
|
||||||
|
|
||||||
bool SpecialCaseList::inSection(const StringRef Section, const StringRef Query,
|
bool SpecialCaseList::inSection(StringRef Section, StringRef Query,
|
||||||
const StringRef Category) const {
|
StringRef Category) const {
|
||||||
StringMap<StringMap<Entry> >::const_iterator I = Entries.find(Section);
|
StringMap<StringMap<Entry> >::const_iterator I = Entries.find(Section);
|
||||||
if (I == Entries.end()) return false;
|
if (I == Entries.end()) return false;
|
||||||
StringMap<Entry>::const_iterator II = I->second.find(Category);
|
StringMap<Entry>::const_iterator II = I->second.find(Category);
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ namespace yaml {
|
|||||||
/// @brief Scans YAML tokens from a MemoryBuffer.
|
/// @brief Scans YAML tokens from a MemoryBuffer.
|
||||||
class Scanner {
|
class Scanner {
|
||||||
public:
|
public:
|
||||||
Scanner(const StringRef Input, SourceMgr &SM);
|
Scanner(StringRef Input, SourceMgr &SM);
|
||||||
Scanner(MemoryBufferRef Buffer, SourceMgr &SM_);
|
Scanner(MemoryBufferRef Buffer, SourceMgr &SM_);
|
||||||
|
|
||||||
/// @brief Parse the next token and return it without popping it.
|
/// @brief Parse the next token and return it without popping it.
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class ARMAsmBackend : public MCAsmBackend {
|
|||||||
bool isThumbMode; // Currently emitting Thumb code.
|
bool isThumbMode; // Currently emitting Thumb code.
|
||||||
bool IsLittleEndian; // Big or little endian.
|
bool IsLittleEndian; // Big or little endian.
|
||||||
public:
|
public:
|
||||||
ARMAsmBackend(const Target &T, const StringRef TT, bool IsLittle)
|
ARMAsmBackend(const Target &T, StringRef TT, bool IsLittle)
|
||||||
: MCAsmBackend(), STI(ARM_MC::createARMMCSubtargetInfo(TT, "", "")),
|
: MCAsmBackend(), STI(ARM_MC::createARMMCSubtargetInfo(TT, "", "")),
|
||||||
isThumbMode(TT.startswith("thumb")), IsLittleEndian(IsLittle) {}
|
isThumbMode(TT.startswith("thumb")), IsLittleEndian(IsLittle) {}
|
||||||
|
|
||||||
@@ -761,7 +761,7 @@ namespace {
|
|||||||
// FIXME: This should be in a separate file.
|
// FIXME: This should be in a separate file.
|
||||||
class ARMWinCOFFAsmBackend : public ARMAsmBackend {
|
class ARMWinCOFFAsmBackend : public ARMAsmBackend {
|
||||||
public:
|
public:
|
||||||
ARMWinCOFFAsmBackend(const Target &T, const StringRef &Triple)
|
ARMWinCOFFAsmBackend(const Target &T, StringRef Triple)
|
||||||
: ARMAsmBackend(T, Triple, true) { }
|
: ARMAsmBackend(T, Triple, true) { }
|
||||||
MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
|
MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
|
||||||
return createARMWinCOFFObjectWriter(OS, /*Is64Bit=*/false);
|
return createARMWinCOFFObjectWriter(OS, /*Is64Bit=*/false);
|
||||||
@@ -773,7 +773,7 @@ public:
|
|||||||
class ELFARMAsmBackend : public ARMAsmBackend {
|
class ELFARMAsmBackend : public ARMAsmBackend {
|
||||||
public:
|
public:
|
||||||
uint8_t OSABI;
|
uint8_t OSABI;
|
||||||
ELFARMAsmBackend(const Target &T, const StringRef TT,
|
ELFARMAsmBackend(const Target &T, StringRef TT,
|
||||||
uint8_t OSABI, bool IsLittle)
|
uint8_t OSABI, bool IsLittle)
|
||||||
: ARMAsmBackend(T, TT, IsLittle), OSABI(OSABI) { }
|
: ARMAsmBackend(T, TT, IsLittle), OSABI(OSABI) { }
|
||||||
|
|
||||||
@@ -786,7 +786,7 @@ public:
|
|||||||
class DarwinARMAsmBackend : public ARMAsmBackend {
|
class DarwinARMAsmBackend : public ARMAsmBackend {
|
||||||
public:
|
public:
|
||||||
const MachO::CPUSubTypeARM Subtype;
|
const MachO::CPUSubTypeARM Subtype;
|
||||||
DarwinARMAsmBackend(const Target &T, const StringRef TT,
|
DarwinARMAsmBackend(const Target &T, StringRef TT,
|
||||||
MachO::CPUSubTypeARM st)
|
MachO::CPUSubTypeARM st)
|
||||||
: ARMAsmBackend(T, TT, /* IsLittleEndian */ true), Subtype(st) {
|
: ARMAsmBackend(T, TT, /* IsLittleEndian */ true), Subtype(st) {
|
||||||
HasDataInCodeSupport = true;
|
HasDataInCodeSupport = true;
|
||||||
|
|||||||
@@ -2081,7 +2081,7 @@ bool MipsAsmParser::searchSymbolAlias(OperandVector &Operands) {
|
|||||||
return false;
|
return false;
|
||||||
if (Expr->getKind() == MCExpr::SymbolRef) {
|
if (Expr->getKind() == MCExpr::SymbolRef) {
|
||||||
const MCSymbolRefExpr *Ref = static_cast<const MCSymbolRefExpr *>(Expr);
|
const MCSymbolRefExpr *Ref = static_cast<const MCSymbolRefExpr *>(Expr);
|
||||||
const StringRef DefSymbol = Ref->getSymbol().getName();
|
StringRef DefSymbol = Ref->getSymbol().getName();
|
||||||
if (DefSymbol.startswith("$")) {
|
if (DefSymbol.startswith("$")) {
|
||||||
OperandMatchResultTy ResTy =
|
OperandMatchResultTy ResTy =
|
||||||
MatchAnyRegisterNameWithoutDollar(Operands, DefSymbol.substr(1), S);
|
MatchAnyRegisterNameWithoutDollar(Operands, DefSymbol.substr(1), S);
|
||||||
|
|||||||
@@ -3034,7 +3034,7 @@ MipsTargetLowering::getSingleConstraintMatchWeight(
|
|||||||
/// that is returned indicates whether parsing was successful. The second flag
|
/// that is returned indicates whether parsing was successful. The second flag
|
||||||
/// is true if the numeric part exists.
|
/// is true if the numeric part exists.
|
||||||
static std::pair<bool, bool>
|
static std::pair<bool, bool>
|
||||||
parsePhysicalReg(const StringRef &C, std::string &Prefix,
|
parsePhysicalReg(StringRef C, std::string &Prefix,
|
||||||
unsigned long long &Reg) {
|
unsigned long long &Reg) {
|
||||||
if (C.front() != '{' || C.back() != '}')
|
if (C.front() != '{' || C.back() != '}')
|
||||||
return std::make_pair(false, false);
|
return std::make_pair(false, false);
|
||||||
@@ -3055,7 +3055,7 @@ parsePhysicalReg(const StringRef &C, std::string &Prefix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::pair<unsigned, const TargetRegisterClass *> MipsTargetLowering::
|
std::pair<unsigned, const TargetRegisterClass *> MipsTargetLowering::
|
||||||
parseRegForInlineAsmConstraint(const StringRef &C, MVT VT) const {
|
parseRegForInlineAsmConstraint(StringRef C, MVT VT) const {
|
||||||
const TargetRegisterInfo *TRI =
|
const TargetRegisterInfo *TRI =
|
||||||
getTargetMachine().getSubtargetImpl()->getRegisterInfo();
|
getTargetMachine().getSubtargetImpl()->getRegisterInfo();
|
||||||
const TargetRegisterClass *RC;
|
const TargetRegisterClass *RC;
|
||||||
|
|||||||
@@ -563,7 +563,7 @@ namespace llvm {
|
|||||||
/// This function parses registers that appear in inline-asm constraints.
|
/// This function parses registers that appear in inline-asm constraints.
|
||||||
/// It returns pair (0, 0) on failure.
|
/// It returns pair (0, 0) on failure.
|
||||||
std::pair<unsigned, const TargetRegisterClass *>
|
std::pair<unsigned, const TargetRegisterClass *>
|
||||||
parseRegForInlineAsmConstraint(const StringRef &C, MVT VT) const;
|
parseRegForInlineAsmConstraint(StringRef C, MVT VT) const;
|
||||||
|
|
||||||
std::pair<unsigned, const TargetRegisterClass*>
|
std::pair<unsigned, const TargetRegisterClass*>
|
||||||
getRegForInlineAsmConstraint(const std::string &Constraint,
|
getRegForInlineAsmConstraint(const std::string &Constraint,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ FixGlobalBaseReg("mips-fix-global-base-reg", cl::Hidden, cl::init(true),
|
|||||||
cl::desc("Always use $gp as the global base register."));
|
cl::desc("Always use $gp as the global base register."));
|
||||||
|
|
||||||
// class MipsCallEntry.
|
// class MipsCallEntry.
|
||||||
MipsCallEntry::MipsCallEntry(const StringRef &N) {
|
MipsCallEntry::MipsCallEntry(StringRef N) {
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
Name = N;
|
Name = N;
|
||||||
Val = nullptr;
|
Val = nullptr;
|
||||||
@@ -119,7 +119,7 @@ bool MipsFunctionInfo::isEhDataRegFI(int FI) const {
|
|||||||
|| FI == EhDataRegFI[2] || FI == EhDataRegFI[3]);
|
|| FI == EhDataRegFI[2] || FI == EhDataRegFI[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
MachinePointerInfo MipsFunctionInfo::callPtrInfo(const StringRef &Name) {
|
MachinePointerInfo MipsFunctionInfo::callPtrInfo(StringRef Name) {
|
||||||
const MipsCallEntry *&E = ExternalCallEntries[Name];
|
const MipsCallEntry *&E = ExternalCallEntries[Name];
|
||||||
|
|
||||||
if (!E)
|
if (!E)
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace llvm {
|
|||||||
/// resolved by lazy-binding.
|
/// resolved by lazy-binding.
|
||||||
class MipsCallEntry : public PseudoSourceValue {
|
class MipsCallEntry : public PseudoSourceValue {
|
||||||
public:
|
public:
|
||||||
explicit MipsCallEntry(const StringRef &N);
|
explicit MipsCallEntry(StringRef N);
|
||||||
explicit MipsCallEntry(const GlobalValue *V);
|
explicit MipsCallEntry(const GlobalValue *V);
|
||||||
bool isConstant(const MachineFrameInfo *) const override;
|
bool isConstant(const MachineFrameInfo *) const override;
|
||||||
bool isAliased(const MachineFrameInfo *) const override;
|
bool isAliased(const MachineFrameInfo *) const override;
|
||||||
@@ -88,7 +88,7 @@ public:
|
|||||||
|
|
||||||
/// \brief Create a MachinePointerInfo that has a MipsCallEntr object
|
/// \brief Create a MachinePointerInfo that has a MipsCallEntr object
|
||||||
/// representing a GOT entry for an external function.
|
/// representing a GOT entry for an external function.
|
||||||
MachinePointerInfo callPtrInfo(const StringRef &Name);
|
MachinePointerInfo callPtrInfo(StringRef Name);
|
||||||
|
|
||||||
/// \brief Create a MachinePointerInfo that has a MipsCallEntr object
|
/// \brief Create a MachinePointerInfo that has a MipsCallEntr object
|
||||||
/// representing a GOT entry for a global function.
|
/// representing a GOT entry for a global function.
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ static cl::opt<bool> CompileForDebugging("debug-compile",
|
|||||||
|
|
||||||
void NVPTXMCAsmInfo::anchor() {}
|
void NVPTXMCAsmInfo::anchor() {}
|
||||||
|
|
||||||
NVPTXMCAsmInfo::NVPTXMCAsmInfo(const StringRef &TT) {
|
NVPTXMCAsmInfo::NVPTXMCAsmInfo(StringRef TT) {
|
||||||
Triple TheTriple(TT);
|
Triple TheTriple(TT);
|
||||||
if (TheTriple.getArch() == Triple::nvptx64) {
|
if (TheTriple.getArch() == Triple::nvptx64) {
|
||||||
PointerSize = CalleeSaveStackSlotSize = 8;
|
PointerSize = CalleeSaveStackSlotSize = 8;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class StringRef;
|
|||||||
class NVPTXMCAsmInfo : public MCAsmInfo {
|
class NVPTXMCAsmInfo : public MCAsmInfo {
|
||||||
virtual void anchor();
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit NVPTXMCAsmInfo(const StringRef &TT);
|
explicit NVPTXMCAsmInfo(StringRef TT);
|
||||||
};
|
};
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class DFSanABIList {
|
|||||||
|
|
||||||
/// Returns whether either this function or its source file are listed in the
|
/// Returns whether either this function or its source file are listed in the
|
||||||
/// given category.
|
/// given category.
|
||||||
bool isIn(const Function &F, const StringRef Category) const {
|
bool isIn(const Function &F, StringRef Category) const {
|
||||||
return isIn(*F.getParent(), Category) ||
|
return isIn(*F.getParent(), Category) ||
|
||||||
SCL->inSection("fun", F.getName(), Category);
|
SCL->inSection("fun", F.getName(), Category);
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ class DFSanABIList {
|
|||||||
///
|
///
|
||||||
/// If GA aliases a function, the alias's name is matched as a function name
|
/// If GA aliases a function, the alias's name is matched as a function name
|
||||||
/// would be. Similarly, aliases of globals are matched like globals.
|
/// would be. Similarly, aliases of globals are matched like globals.
|
||||||
bool isIn(const GlobalAlias &GA, const StringRef Category) const {
|
bool isIn(const GlobalAlias &GA, StringRef Category) const {
|
||||||
if (isIn(*GA.getParent(), Category))
|
if (isIn(*GA.getParent(), Category))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ class DFSanABIList {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Returns whether this module is listed in the given category.
|
/// Returns whether this module is listed in the given category.
|
||||||
bool isIn(const Module &M, const StringRef Category) const {
|
bool isIn(const Module &M, StringRef Category) const {
|
||||||
return SCL->inSection("src", M.getModuleIdentifier(), Category);
|
return SCL->inSection("src", M.getModuleIdentifier(), Category);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ DumpType("debug-dump", cl::init(DIDT_All),
|
|||||||
clEnumValN(DIDT_StrOffsetsDwo, "str_offsets.dwo", ".debug_str_offsets.dwo"),
|
clEnumValN(DIDT_StrOffsetsDwo, "str_offsets.dwo", ".debug_str_offsets.dwo"),
|
||||||
clEnumValEnd));
|
clEnumValEnd));
|
||||||
|
|
||||||
static void DumpInput(const StringRef &Filename) {
|
static void DumpInput(StringRef Filename) {
|
||||||
ErrorOr<std::unique_ptr<MemoryBuffer>> BuffOrErr =
|
ErrorOr<std::unique_ptr<MemoryBuffer>> BuffOrErr =
|
||||||
MemoryBuffer::getFileOrSTDIN(Filename);
|
MemoryBuffer::getFileOrSTDIN(Filename);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user