31#define PROC(ENUM, NAME, DEFAULT_MARCH) \
32 {NAME, CK_##ENUM, DEFAULT_MARCH},
33#include "llvm/TargetParser/RISCVTargetParserDef.inc"
37 if (Kind == CK_INVALID)
43 if (Kind == CK_INVALID)
45#define TUNE_PROC(ENUM, NAME) \
46 if (Kind == CK_##ENUM) \
48#include "llvm/TargetParser/RISCVTargetParserDef.inc"
54#define PROC(ENUM, NAME, DEFAULT_MARCH) .Case(NAME, CK_##ENUM)
55#include "llvm/TargetParser/RISCVTargetParserDef.inc"
61#define PROC(ENUM, NAME, DEFAULT_MARCH) .Case(NAME, CK_##ENUM)
62#define TUNE_PROC(ENUM, NAME) .Case(NAME, CK_##ENUM)
63#include "llvm/TargetParser/RISCVTargetParserDef.inc"
69 return RISCVCPUInfo[
static_cast<unsigned>(Kind)].DefaultMarch;
74 if (
C.Kind != CK_INVALID && IsRV64 ==
C.is64Bit())
81 if (
C.Kind != CK_INVALID && IsRV64 ==
C.is64Bit())
84#define TUNE_PROC(ENUM, NAME) Values.emplace_back(StringRef(NAME));
85#include "llvm/TargetParser/RISCVTargetParserDef.inc"
90 std::vector<StringRef> &Features) {
97 Features.push_back(
"+64bit");
99 Features.push_back(
"-64bit");
106 return TT.isOSFuchsia() || TT.isAndroid();
Analysis containing CSE Info
This file defines the SmallVector class.
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
static bool is64Bit(const char *name)
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
reference emplace_back(ArgTypes &&... Args)
A wrapper around a string literal that serves as a proxy for constructing global tables of StringRefs...
StringRef - Represent a constant reference to a string, i.e.
bool starts_with(StringRef Prefix) const
Check if this string starts with the given Prefix.
constexpr bool empty() const
empty - Check if the string is empty.
A switch()-like statement whose cases are string literals.
Triple - Helper class for working with autoconf configuration names.
@ C
The default llvm calling convention, compatible with C.
void fillValidTuneCPUArchList(SmallVectorImpl< StringRef > &Values, bool IsRV64)
constexpr CPUInfo RISCVCPUInfo[]
StringRef getMArchFromMcpu(StringRef CPU)
bool isX18ReservedByDefault(const Triple &TT)
CPUKind parseTuneCPUKind(StringRef CPU, bool IsRV64)
bool checkTuneCPUKind(CPUKind Kind, bool IsRV64)
bool checkCPUKind(CPUKind Kind, bool IsRV64)
CPUKind parseCPUKind(StringRef CPU)
bool getCPUFeaturesExceptStdExt(CPUKind Kind, std::vector< StringRef > &Features)
void fillValidCPUArchList(SmallVectorImpl< StringRef > &Values, bool IsRV64)
This is an optimization pass for GlobalISel generic memory operations.
StringLiteral DefaultMarch