//===---------------- ARMTargetParserCommon ---------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Code that is common to ARMTargetParser and AArch64TargetParser. // //===----------------------------------------------------------------------===// #include "llvm/TargetParser/ARMTargetParserCommon.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringSwitch.h" usingnamespacellvm; StringRef ARM::getArchSynonym(StringRef Arch) { … } StringRef ARM::getCanonicalArchName(StringRef Arch) { … } ARM::ISAKind ARM::parseArchISA(StringRef Arch) { … } ARM::EndianKind ARM::parseArchEndian(StringRef Arch) { … } // Parse a branch protection specification, which has the form // standard | none | [bti,pac-ret[+b-key,+leaf,+pc]*] // Returns true on success, with individual elements of the specification // returned in `PBP`. Returns false in error, with `Err` containing // an erroneous part of the spec. bool ARM::parseBranchProtection(StringRef Spec, ParsedBranchProtection &PBP, StringRef &Err, bool EnablePAuthLR) { … }