diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp index 4a7903d26da..e65ba1f2401 100644 --- a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp +++ b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp @@ -85,8 +85,9 @@ uint32_t AArch64SysReg::parseGenericRegister(StringRef Name) { // Try to parse an S<op0>_<op1>_<Cn>_<Cm>_<op2> register name Regex GenericRegPattern("^S([0-3])_([0-7])_C([0-9]|1[0-5])_C([0-9]|1[0-5])_([0-7])$"); + std::string UpperName = Name.upper(); SmallVector<StringRef, 5> Ops; - if (!GenericRegPattern.match(Name.upper(), &Ops)) + if (!GenericRegPattern.match(UpperName, &Ops)) return -1; uint32_t Op0 = 0, Op1 = 0, CRn = 0, CRm = 0, Op2 = 0; |