llvm/llvm/lib/TargetParser/AArch64TargetParser.cpp

//===-- AArch64TargetParser - Parser for AArch64 features -------*- 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
//
//===----------------------------------------------------------------------===//
//
// This file implements a target parser to recognise AArch64 hardware features
// such as FPU/CPU/ARCH and extension names.
//
//===----------------------------------------------------------------------===//

#include "llvm/TargetParser/AArch64TargetParser.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/ARMTargetParserCommon.h"
#include "llvm/TargetParser/Triple.h"
#include <cctype>
#include <vector>

#define DEBUG_TYPE

usingnamespacellvm;

#define EMIT_FMV_INFO
#include "llvm/TargetParser/AArch64TargetParserDef.inc"

static unsigned checkArchVersion(llvm::StringRef Arch) {}

const AArch64::ArchInfo *AArch64::getArchForCpu(StringRef CPU) {}

std::optional<AArch64::ArchInfo> AArch64::ArchInfo::findBySubArch(StringRef SubArch) {}

uint64_t AArch64::getCpuSupportsMask(ArrayRef<StringRef> FeatureStrs) {}

bool AArch64::getExtensionFeatures(
    const AArch64::ExtensionBitset &InputExts,
    std::vector<StringRef> &Features) {}

StringRef AArch64::resolveCPUAlias(StringRef Name) {}

StringRef AArch64::getArchExtFeature(StringRef ArchExt) {}

void AArch64::fillValidCPUArchList(SmallVectorImpl<StringRef> &Values) {}

bool AArch64::isX18ReservedByDefault(const Triple &TT) {}

// Allows partial match, ex. "v8a" matches "armv8a".
const AArch64::ArchInfo *AArch64::parseArch(StringRef Arch) {}

std::optional<AArch64::ExtensionInfo>
AArch64::parseArchExtension(StringRef ArchExt) {}

std::optional<AArch64::FMVInfo> AArch64::parseFMVExtension(StringRef FMVExt) {}

std::optional<AArch64::ExtensionInfo>
AArch64::targetFeatureToExtension(StringRef TargetFeature) {}

std::optional<AArch64::CpuInfo> AArch64::parseCpu(StringRef Name) {}

void AArch64::PrintSupportedExtensions() {}

void
AArch64::printEnabledExtensions(const std::set<StringRef> &EnabledFeatureNames) {}

const llvm::AArch64::ExtensionInfo &
lookupExtensionByID(llvm::AArch64::ArchExtKind ExtID) {}

void AArch64::ExtensionSet::enable(ArchExtKind E) {}

void AArch64::ExtensionSet::disable(ArchExtKind E) {}

void AArch64::ExtensionSet::addCPUDefaults(const CpuInfo &CPU) {}

void AArch64::ExtensionSet::addArchDefaults(const ArchInfo &Arch) {}

bool AArch64::ExtensionSet::parseModifier(StringRef Modifier,
                                          const bool AllowNoDashForm) {}

void AArch64::ExtensionSet::reconstructFromParsedFeatures(
    const std::vector<std::string> &Features,
    std::vector<std::string> &NonExtensions) {}

void AArch64::ExtensionSet::dump() const {}

const AArch64::ExtensionInfo &
AArch64::getExtensionByID(AArch64::ArchExtKind ExtID) {}