LLVM
15.0.0git
|
#include "llvm/Support/RISCVISAInfo.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/raw_ostream.h"
#include <array>
#include <string>
#include <vector>
Go to the source code of this file.
Classes | |
struct | FindByName |
struct | ImpliedExtsEntry |
struct | CombinedExtsEntry |
Functions | |
static bool | stripExperimentalPrefix (StringRef &Ext) |
static size_t | findFirstNonVersionCharacter (StringRef Ext) |
static Optional< RISCVExtensionVersion > | findDefaultVersion (StringRef ExtName) |
static StringRef | getExtensionTypeDesc (StringRef Ext) |
static StringRef | getExtensionType (StringRef Ext) |
static Optional< RISCVExtensionVersion > | isExperimentalExtension (StringRef Ext) |
static int | singleLetterExtensionRank (char Ext) |
static int | multiLetterExtensionRank (const std::string &ExtName) |
static Error | getExtensionVersion (StringRef Ext, StringRef In, unsigned &Major, unsigned &Minor, unsigned &ConsumeLength, bool EnableExperimentalExtension, bool ExperimentalExtensionVersionCheck) |
Variables | |
static constexpr StringLiteral | AllStdExts = "mafdqlcbkjtpvn" |
static const RISCVSupportedExtension | SupportedExtensions [] |
static const RISCVSupportedExtension | SupportedExperimentalExtensions [] |
static const char * | ImpliedExtsV [] = {"zvl128b", "zve64d", "f", "d"} |
static const char * | ImpliedExtsZfhmin [] = {"f"} |
static const char * | ImpliedExtsZfh [] = {"f"} |
static const char * | ImpliedExtsZdinx [] = {"zfinx"} |
static const char * | ImpliedExtsZhinxmin [] = {"zfinx"} |
static const char * | ImpliedExtsZhinx [] = {"zfinx"} |
static const char * | ImpliedExtsZve64d [] = {"zve64f"} |
static const char * | ImpliedExtsZve64f [] = {"zve64x", "zve32f"} |
static const char * | ImpliedExtsZve64x [] = {"zve32x", "zvl64b"} |
static const char * | ImpliedExtsZve32f [] = {"zve32x"} |
static const char * | ImpliedExtsZve32x [] = {"zvl32b"} |
static const char * | ImpliedExtsZvl65536b [] = {"zvl32768b"} |
static const char * | ImpliedExtsZvl32768b [] = {"zvl16384b"} |
static const char * | ImpliedExtsZvl16384b [] = {"zvl8192b"} |
static const char * | ImpliedExtsZvl8192b [] = {"zvl4096b"} |
static const char * | ImpliedExtsZvl4096b [] = {"zvl2048b"} |
static const char * | ImpliedExtsZvl2048b [] = {"zvl1024b"} |
static const char * | ImpliedExtsZvl1024b [] = {"zvl512b"} |
static const char * | ImpliedExtsZvl512b [] = {"zvl256b"} |
static const char * | ImpliedExtsZvl256b [] = {"zvl128b"} |
static const char * | ImpliedExtsZvl128b [] = {"zvl64b"} |
static const char * | ImpliedExtsZvl64b [] = {"zvl32b"} |
static const char * | ImpliedExtsZk [] = {"zkn", "zkt", "zkr"} |
static const char * | ImpliedExtsZkn [] = {"zbkb", "zbkc", "zbkx", "zkne", "zknd", "zknh"} |
static const char * | ImpliedExtsZks [] = {"zbkb", "zbkc", "zbkx", "zksed", "zksh"} |
static const char * | ImpliedExtsZvfh [] = {"zve32f"} |
static constexpr ImpliedExtsEntry | ImpliedExts [] |
static constexpr CombinedExtsEntry | CombineIntoExts [] |
Definition at line 144 of file RISCVISAInfo.cpp.
References llvm::find_if(), llvm::makeArrayRef(), llvm::None, SupportedExperimentalExtensions, and SupportedExtensions.
Referenced by getExtensionVersion(), and llvm::RISCVISAInfo::parseArchString().
|
static |
Definition at line 121 of file RISCVISAInfo.cpp.
References assert(), llvm::MipsISD::Ext, and isDigit().
Referenced by llvm::RISCVISAInfo::parseArchString().
Definition at line 180 of file RISCVISAInfo.cpp.
References llvm::MipsISD::Ext.
Referenced by llvm::RISCVISAInfo::parseArchString().
Definition at line 168 of file RISCVISAInfo.cpp.
References llvm::MipsISD::Ext.
Referenced by llvm::RISCVISAInfo::parseArchString().
|
static |
Definition at line 338 of file RISCVISAInfo.cpp.
References llvm::createStringError(), llvm::StringRef::empty(), llvm::MipsISD::Ext, findDefaultVersion(), llvm::StringRef::getAsInteger(), llvm::tgtok::In, llvm::invalid_argument, isDigit(), isExperimentalExtension(), llvm::RISCVISAInfo::isSupportedExtension(), llvm::StringRef::size(), llvm::StringRef::str(), and llvm::Error::success().
Referenced by llvm::RISCVISAInfo::parseArchString().
Definition at line 192 of file RISCVISAInfo.cpp.
References llvm::sys::path::end(), llvm::MipsISD::Ext, llvm::find_if(), llvm::None, and SupportedExperimentalExtensions.
Referenced by getExtensionVersion(), llvm::RISCVISAInfo::toFeatures(), and llvm::RISCVISAInfo::toFeatureVector().
Definition at line 260 of file RISCVISAInfo.cpp.
References assert(), llvm_unreachable, and singleLetterExtensionRank().
Referenced by llvm::RISCVISAInfo::compareExtension().
|
static |
Definition at line 236 of file RISCVISAInfo.cpp.
References AllStdExts, llvm::MipsISD::Ext, llvm::StringRef::find(), llvm::StringRef::npos, and llvm::StringRef::size().
Referenced by llvm::RISCVISAInfo::compareExtension(), and multiLetterExtensionRank().
|
static |
Definition at line 110 of file RISCVISAInfo.cpp.
References llvm::MipsISD::Ext.
Referenced by llvm::RISCVISAInfo::hasExtension(), llvm::RISCVISAInfo::isSupportedExtensionFeature(), and llvm::RISCVISAInfo::parseFeatures().
|
staticconstexpr |
Definition at line 40 of file RISCVISAInfo.cpp.
Referenced by llvm::RISCVISAInfo::parseArchString(), and singleLetterExtensionRank().
|
staticconstexpr |
Definition at line 855 of file RISCVISAInfo.cpp.
|
staticconstexpr |
Definition at line 785 of file RISCVISAInfo.cpp.
Definition at line 746 of file RISCVISAInfo.cpp.
|
static |
Definition at line 749 of file RISCVISAInfo.cpp.
|
static |
Definition at line 748 of file RISCVISAInfo.cpp.
|
static |
Definition at line 747 of file RISCVISAInfo.cpp.
|
static |
Definition at line 751 of file RISCVISAInfo.cpp.
|
static |
Definition at line 750 of file RISCVISAInfo.cpp.
|
static |
Definition at line 768 of file RISCVISAInfo.cpp.
|
static |
Definition at line 769 of file RISCVISAInfo.cpp.
|
static |
Definition at line 770 of file RISCVISAInfo.cpp.
|
static |
Definition at line 755 of file RISCVISAInfo.cpp.
|
static |
Definition at line 756 of file RISCVISAInfo.cpp.
|
static |
Definition at line 752 of file RISCVISAInfo.cpp.
|
static |
Definition at line 753 of file RISCVISAInfo.cpp.
|
static |
Definition at line 754 of file RISCVISAInfo.cpp.
|
static |
Definition at line 771 of file RISCVISAInfo.cpp.
|
static |
Definition at line 763 of file RISCVISAInfo.cpp.
|
static |
Definition at line 766 of file RISCVISAInfo.cpp.
|
static |
Definition at line 759 of file RISCVISAInfo.cpp.
|
static |
Definition at line 762 of file RISCVISAInfo.cpp.
|
static |
Definition at line 765 of file RISCVISAInfo.cpp.
|
static |
Definition at line 758 of file RISCVISAInfo.cpp.
|
static |
Definition at line 761 of file RISCVISAInfo.cpp.
|
static |
Definition at line 764 of file RISCVISAInfo.cpp.
|
static |
Definition at line 767 of file RISCVISAInfo.cpp.
|
static |
Definition at line 757 of file RISCVISAInfo.cpp.
|
static |
Definition at line 760 of file RISCVISAInfo.cpp.
|
static |
Definition at line 100 of file RISCVISAInfo.cpp.
Referenced by findDefaultVersion(), isExperimentalExtension(), llvm::RISCVISAInfo::isSupportedExtension(), llvm::RISCVISAInfo::isSupportedExtensionFeature(), and llvm::RISCVISAInfo::parseFeatures().
|
static |
Definition at line 42 of file RISCVISAInfo.cpp.
Referenced by findDefaultVersion(), llvm::RISCVISAInfo::isSupportedExtension(), llvm::RISCVISAInfo::isSupportedExtensionFeature(), and llvm::RISCVISAInfo::parseFeatures().