#include #include #include #include "llvm/TargetParser/RISCVTargetParserDef.inc"">

LLVM: lib/TargetParser/RISCVISAInfo.cpp File Reference (original) (raw)

#include "[llvm/TargetParser/RISCVISAInfo.h](RISCVISAInfo%5F8h%5Fsource.html)"
#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringExtras.h](StringExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringRef.h](StringRef%5F8h%5Fsource.html)"
#include "[llvm/Support/Errc.h](Errc%5F8h%5Fsource.html)"
#include "[llvm/Support/Error.h](llvm%5F2Support%5F2Error%5F8h%5Fsource.html)"
#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"
#include <atomic>
#include <optional>
#include <string>
#include <vector>
#include "llvm/TargetParser/RISCVTargetParserDef.inc"

Go to the source code of this file.

Functions
static void verifyTables ()
static void PrintExtension (StringRef Name, StringRef Version, StringRef Description)
static bool stripExperimentalPrefix (StringRef &Ext)
static size_t findLastNonVersionCharacter (StringRef Ext)
static std::optional< RISCVISAUtils::ExtensionVersion > findDefaultVersion (StringRef ExtName)
static StringRef getExtensionTypeDesc (StringRef Ext)
static StringRef getExtensionType (StringRef Ext)
static std::optional< RISCVISAUtils::ExtensionVersion > isExperimentalExtension (StringRef Ext)
static Error getError (const Twine &Message)
static Error getErrorForInvalidExt (StringRef ExtName)
static Error getExtensionVersion (StringRef Ext, StringRef In, unsigned &Major, unsigned &Minor, unsigned &ConsumeLength, bool EnableExperimentalExtension, bool ExperimentalExtensionVersionCheck)
static Error getIncompatibleError (StringRef Ext1, StringRef Ext2)
static Error getExtensionRequiresError (StringRef Ext, StringRef ReqExt)
static bool operator< (const ImpliedExtsEntry &LHS, StringRef RHS)
static bool operator< (StringRef LHS, const ImpliedExtsEntry &RHS)

GET_IMPLIED_EXTENSIONS

#define GET_IMPLIED_EXTENSIONS

GET_RISCVExtensionBitmaskTable_IMPL

#define GET_RISCVExtensionBitmaskTable_IMPL

GET_SUPPORTED_EXTENSIONS

#define GET_SUPPORTED_EXTENSIONS

GET_SUPPORTED_PROFILES

#define GET_SUPPORTED_PROFILES

findDefaultVersion()

findLastNonVersionCharacter()

size_t findLastNonVersionCharacter ( StringRef Ext) static

getError()

getErrorForInvalidExt()

getExtensionRequiresError()

getExtensionType()

getExtensionTypeDesc()

getExtensionVersion()

Definition at line 332 of file RISCVISAInfo.cpp.

References llvm::StringRef::empty(), findDefaultVersion(), llvm::StringRef::getAsInteger(), getError(), getErrorForInvalidExt(), llvm::isDigit(), isExperimentalExtension(), llvm::RISCVISAInfo::isSupportedExtension(), llvm::StringRef::size(), llvm::StringRef::str(), llvm::Error::success(), and llvm::utostr().

Referenced by llvm::RISCVISAInfo::isSupportedExtensionWithVersion(), and llvm::RISCVISAInfo::parseArchString().

getIncompatibleError()

isExperimentalExtension()

operator<() [1/2]

operator<() [2/2]

PrintExtension()

stripExperimentalPrefix()

verifyTables()

void verifyTables ( ) static

CombineIntoExts

Initial value:

= {

{"a"}, {"b"}, {"zk"}, {"zkn"}, {"zks"}, {"zvkn"},

{"zvknc"}, {"zvkng"}, {"zvks"}, {"zvksc"}, {"zvksg"},

}

Definition at line 894 of file RISCVISAInfo.cpp.

RISCVGImplications

const char* RISCVGImplications[] = {"i", "m", "a", "f", "d"} static

RISCVGImplicationsZi

const char* RISCVGImplicationsZi[] = {"zicsr", "zifencei"} static