LLVM  16.0.0git
LoongArchBaseInfo.h
Go to the documentation of this file.
1 //=- LoongArchBaseInfo.h - Top level definitions for LoongArch MC -*- C++ -*-=//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains small standalone enum definitions and helper function
10 // definitions for the LoongArch target useful for the compiler back-end and the
11 // MC libraries.
12 //
13 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
15 #define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
16 
18 #include "llvm/ADT/StringRef.h"
19 #include "llvm/ADT/StringSwitch.h"
20 #include "llvm/MC/MCInstrDesc.h"
22 
23 namespace llvm {
24 
25 // This namespace holds all of the target specific flags that instruction info
26 // tracks.
27 namespace LoongArchII {
28 enum {
42  // TODO: Add more flags.
43 };
44 } // end namespace LoongArchII
45 
46 namespace LoongArchABI {
47 enum ABI {
55 };
56 
57 ABI getTargetABI(StringRef ABIName);
58 
59 // Returns the register used to hold the stack pointer after realignment.
61 } // end namespace LoongArchABI
62 
63 } // end namespace llvm
64 
65 #endif // LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::LoongArchABI::ABI_LP64S
@ ABI_LP64S
Definition: LoongArchBaseInfo.h:51
MCInstrDesc.h
StringRef.h
llvm::LoongArchII::MO_CALL_PLT
@ MO_CALL_PLT
Definition: LoongArchBaseInfo.h:31
llvm::LoongArchII::MO_GOT_PC_HI
@ MO_GOT_PC_HI
Definition: LoongArchBaseInfo.h:34
llvm::LoongArchABI::ABI_ILP32D
@ ABI_ILP32D
Definition: LoongArchBaseInfo.h:50
llvm::LoongArchABI::ABI_LP64F
@ ABI_LP64F
Definition: LoongArchBaseInfo.h:52
llvm::LoongArchABI::ABI_ILP32F
@ ABI_ILP32F
Definition: LoongArchBaseInfo.h:49
llvm::LoongArchII::MO_IE_PC_LO
@ MO_IE_PC_LO
Definition: LoongArchBaseInfo.h:39
llvm::LoongArchII::MO_LD_PC_HI
@ MO_LD_PC_HI
Definition: LoongArchBaseInfo.h:40
llvm::LoongArchII::MO_GOT_PC_LO
@ MO_GOT_PC_LO
Definition: LoongArchBaseInfo.h:35
SubtargetFeature.h
llvm::LoongArchABI::getTargetABI
ABI getTargetABI(StringRef ABIName)
Definition: LoongArchBaseInfo.cpp:23
llvm::LoongArchABI::ABI_Unknown
@ ABI_Unknown
Definition: LoongArchBaseInfo.h:54
llvm::LoongArchII::MO_PCREL_LO
@ MO_PCREL_LO
Definition: LoongArchBaseInfo.h:33
llvm::LoongArchABI::ABI
ABI
Definition: LoongArchBaseInfo.h:47
llvm::LoongArchII::MO_CALL
@ MO_CALL
Definition: LoongArchBaseInfo.h:30
llvm::LoongArchII::MO_IE_PC_HI
@ MO_IE_PC_HI
Definition: LoongArchBaseInfo.h:38
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
llvm::LoongArchII::MO_LE_LO
@ MO_LE_LO
Definition: LoongArchBaseInfo.h:37
llvm::LoongArchABI::ABI_ILP32S
@ ABI_ILP32S
Definition: LoongArchBaseInfo.h:48
llvm::LoongArchABI::ABI_LP64D
@ ABI_LP64D
Definition: LoongArchBaseInfo.h:53
StringSwitch.h
llvm::LoongArchII::MO_GD_PC_HI
@ MO_GD_PC_HI
Definition: LoongArchBaseInfo.h:41
llvm::LoongArchABI::getBPReg
MCRegister getBPReg()
Definition: LoongArchBaseInfo.cpp:36
LoongArchMCTargetDesc.h
llvm::LoongArchII::MO_LE_HI
@ MO_LE_HI
Definition: LoongArchBaseInfo.h:36
llvm::LoongArchII::MO_None
@ MO_None
Definition: LoongArchBaseInfo.h:29
llvm::LoongArchII::MO_PCREL_HI
@ MO_PCREL_HI
Definition: LoongArchBaseInfo.h:32
llvm::MCRegister
Wrapper class representing physical registers. Should be passed by value.
Definition: MCRegister.h:24