LLVM 20.0.0git
CSKYRegisterInfo.h
Go to the documentation of this file.
1//===-- CSKYRegisterInfo.h - CSKY 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 CSKY implementation of the TargetRegisterInfo class.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_CSKY_CSKYREGISTERINFO_H
14#define LLVM_LIB_TARGET_CSKY_CSKYREGISTERINFO_H
15
17
18#define GET_REGINFO_HEADER
19#include "CSKYGenRegisterInfo.inc"
20
21namespace llvm {
22class CSKYInstrInfo;
23
25public:
27
29 CallingConv::ID id) const override;
30 const uint32_t *getNoPreservedMask() const override;
31
32 BitVector getReservedRegs(const MachineFunction &MF) const override;
33
34 Register getFrameRegister(const MachineFunction &MF) const override;
35
36 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;
37
39 unsigned FIOperandNum,
40 RegScavenger *RS) const override;
41
42 bool requiresFrameIndexScavenging(const MachineFunction &MF) const override {
43 return true;
44 }
45
46 bool requiresRegisterScavenging(const MachineFunction &MF) const override {
47 return true;
48 }
49
50 bool useFPForScavengingIndex(const MachineFunction &MF) const override {
51 return false;
52 }
53};
54
55} // namespace llvm
56
57#endif // LLVM_LIB_TARGET_CSKY_CSKYREGISTERINFO_H
IRTranslator LLVM IR MI
BitVector getReservedRegs(const MachineFunction &MF) const override
bool requiresFrameIndexScavenging(const MachineFunction &MF) const override
bool useFPForScavengingIndex(const MachineFunction &MF) const override
Register getFrameRegister(const MachineFunction &MF) const override
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID id) const override
bool requiresRegisterScavenging(const MachineFunction &MF) const override
const uint32_t * getNoPreservedMask() const override
bool eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS) const override
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Wrapper class representing virtual and physical registers.
Definition: Register.h:19
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18