diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-07-26 19:11:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2023-07-26 19:11:12 +0000 |
| commit | 2d22c9abbd20fdc3d3a469075bd151ca1bd02ee4 (patch) | |
| tree | bc941261e4067c56d7da297e4f3e606bad5695c1 /llvm/lib/TargetParser/LoongArchTargetParser.cpp | |
| parent | 7fa27ce4a07f19b07799a767fc29416f3b625afb (diff) | |
Diffstat (limited to 'llvm/lib/TargetParser/LoongArchTargetParser.cpp')
| -rw-r--r-- | llvm/lib/TargetParser/LoongArchTargetParser.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/lib/TargetParser/LoongArchTargetParser.cpp b/llvm/lib/TargetParser/LoongArchTargetParser.cpp index 18b04600dbc6..72781513ff12 100644 --- a/llvm/lib/TargetParser/LoongArchTargetParser.cpp +++ b/llvm/lib/TargetParser/LoongArchTargetParser.cpp @@ -16,6 +16,9 @@ using namespace llvm; using namespace llvm::LoongArch; +StringRef Arch; +StringRef TuneCPU; + const FeatureInfo AllFeatures[] = { #define LOONGARCH_FEATURE(NAME, KIND) {NAME, KIND}, #include "llvm/TargetParser/LoongArchTargetParser.def" @@ -46,3 +49,25 @@ bool LoongArch::getArchFeatures(StringRef Arch, } return false; } + +bool LoongArch::isValidTuneCPUName(StringRef TuneCPU) { + return isValidArchName(TuneCPU); +} + +void LoongArch::fillValidTuneCPUList(SmallVectorImpl<StringRef> &Values) { + for (const auto A : AllArchs) + Values.emplace_back(A.Name); +} + +StringRef LoongArch::getDefaultArch(bool Is64Bit) { + // TODO: use a real 32-bit arch name. + return Is64Bit ? "loongarch64" : ""; +} + +void LoongArch::setArch(StringRef Name) { Arch = Name; } + +StringRef LoongArch::getArch() { return Arch; } + +void LoongArch::setTuneCPU(StringRef Name) { TuneCPU = Name; } + +StringRef LoongArch::getTuneCPU() { return TuneCPU; } |
