LLVM 17.0.0git
|
This file implements the targeting of the RegisterBankInfo class for AArch64. More...
#include "AArch64RegisterBankInfo.h"
#include "AArch64RegisterInfo.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/LowLevelType.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterBank.h"
#include "llvm/CodeGen/RegisterBankInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/IntrinsicsAArch64.h"
#include "llvm/Support/ErrorHandling.h"
#include <algorithm>
#include <cassert>
#include "AArch64GenRegisterBank.inc"
#include "AArch64GenRegisterBankInfo.def"
Go to the source code of this file.
Macros | |
#define | GET_TARGET_REGBANK_IMPL |
#define | CHECK_PARTIALMAP(Idx, ValStartIdx, ValLength, RB) |
#define | CHECK_VALUEMAP_IMPL(RBName, Size, Offset) |
#define | CHECK_VALUEMAP(RBName, Size) CHECK_VALUEMAP_IMPL(RBName, Size, 0) |
#define | CHECK_VALUEMAP_3OPS(RBName, Size) |
#define | CHECK_VALUEMAP_CROSSREGCPY(RBNameDst, RBNameSrc, Size) |
#define | CHECK_VALUEMAP_FPEXT(DstSize, SrcSize) |
Functions | |
static bool | isPreISelGenericFloatingPointOpcode (unsigned Opc) |
Returns whether opcode Opc is a pre-isel generic floating-point opcode, having only floating-point operands. | |
static bool | isFPIntrinsic (unsigned ID) |
This file implements the targeting of the RegisterBankInfo class for AArch64.
Definition in file AArch64RegisterBankInfo.cpp.
#define CHECK_PARTIALMAP | ( | Idx, | |
ValStartIdx, | |||
ValLength, | |||
RB | |||
) |
#define CHECK_VALUEMAP | ( | RBName, | |
Size | |||
) | CHECK_VALUEMAP_IMPL(RBName, Size, 0) |
#define CHECK_VALUEMAP_3OPS | ( | RBName, | |
Size | |||
) |
#define CHECK_VALUEMAP_CROSSREGCPY | ( | RBNameDst, | |
RBNameSrc, | |||
Size | |||
) |
#define CHECK_VALUEMAP_FPEXT | ( | DstSize, | |
SrcSize | |||
) |
#define GET_TARGET_REGBANK_IMPL |
Definition at line 36 of file AArch64RegisterBankInfo.cpp.
ID
only uses and defines FPRs. Definition at line 485 of file AArch64RegisterBankInfo.cpp.
Referenced by llvm::AArch64RegisterBankInfo::getInstrMapping().
Returns whether opcode Opc
is a pre-isel generic floating-point opcode, having only floating-point operands.
Definition at line 407 of file AArch64RegisterBankInfo.cpp.
Referenced by llvm::AArch64RegisterBankInfo::getInstrMapping().