LLVM  16.0.0git
VERegisterInfo.h
Go to the documentation of this file.
1 //===-- VERegisterInfo.h - VE Register Information Impl ---------*- 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 the VE implementation of the TargetRegisterInfo class.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_LIB_TARGET_VE_VEREGISTERINFO_H
14 #define LLVM_LIB_TARGET_VE_VEREGISTERINFO_H
15 
17 
18 #define GET_REGINFO_HEADER
19 #include "VEGenRegisterInfo.inc"
20 
21 namespace llvm {
23 public:
25 
26  /// Code Generation virtual methods...
27  const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;
29  CallingConv::ID CC) const override;
30  const uint32_t *getNoPreservedMask() const override;
31 
32  BitVector getReservedRegs(const MachineFunction &MF) const override;
33 
35  unsigned Kind) const override;
36 
38  unsigned FIOperandNum,
39  RegScavenger *RS = nullptr) const override;
40 
41  Register getFrameRegister(const MachineFunction &MF) const override;
42 };
43 
44 } // namespace llvm
45 
46 #endif
llvm::VERegisterInfo::getCalleeSavedRegs
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Code Generation virtual methods...
Definition: VERegisterInfo.cpp:39
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::VERegisterInfo::getNoPreservedMask
const uint32_t * getNoPreservedMask() const override
Definition: VERegisterInfo.cpp:62
llvm::VERegisterInfo::getFrameRegister
Register getFrameRegister(const MachineFunction &MF) const override
Definition: VERegisterInfo.cpp:506
llvm::TargetRegisterClass
Definition: TargetRegisterInfo.h:46
llvm::BitVector
Definition: BitVector.h:75
llvm::CallingConv::ID
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Definition: CallingConv.h:24
llvm::VERegisterInfo::eliminateFrameIndex
bool eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
Definition: VERegisterInfo.cpp:480
llvm::RegScavenger
Definition: RegisterScavenging.h:34
VEGenRegisterInfo
llvm::MachineFunction
Definition: MachineFunction.h:257
uint32_t
CC
auto CC
Definition: RISCVRedundantCopyElimination.cpp:79
llvm::Register
Wrapper class representing virtual and physical registers.
Definition: Register.h:19
uint16_t
llvm::VERegisterInfo
Definition: VERegisterInfo.h:22
llvm::VERegisterInfo::VERegisterInfo
VERegisterInfo()
Definition: VERegisterInfo.cpp:36
llvm::VERegisterInfo::getCallPreservedMask
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID CC) const override
Definition: VERegisterInfo.cpp:50
llvm::VERegisterInfo::getReservedRegs
BitVector getReservedRegs(const MachineFunction &MF) const override
Definition: VERegisterInfo.cpp:66
llvm::MachineInstrBundleIterator< MachineInstr >
llvm::VERegisterInfo::getPointerRegClass
const TargetRegisterClass * getPointerRegClass(const MachineFunction &MF, unsigned Kind) const override
Definition: VERegisterInfo.cpp:100
TargetRegisterInfo.h