LLVM  13.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  bool isConstantPhysReg(MCRegister PhysReg) const override;
34 
36  unsigned Kind) const override;
37 
39  unsigned FIOperandNum,
40  RegScavenger *RS = nullptr) const override;
41 
42  Register getFrameRegister(const MachineFunction &MF) const override;
43 };
44 
45 } // namespace llvm
46 
47 #endif
llvm::VERegisterInfo::getCalleeSavedRegs
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Code Generation virtual methods...
Definition: VERegisterInfo.cpp:37
llvm::EngineKind::Kind
Kind
Definition: ExecutionEngine.h:524
llvm
This class represents lattice values for constants.
Definition: AllocatorList.h:23
llvm::VERegisterInfo::getNoPreservedMask
const uint32_t * getNoPreservedMask() const override
Definition: VERegisterInfo.cpp:60
llvm::VERegisterInfo::getFrameRegister
Register getFrameRegister(const MachineFunction &MF) const override
Definition: VERegisterInfo.cpp:198
llvm::TargetRegisterClass
Definition: TargetRegisterInfo.h:46
llvm::VERegisterInfo::isConstantPhysReg
bool isConstantPhysReg(MCRegister PhysReg) const override
Definition: VERegisterInfo.cpp:97
llvm::BitVector
Definition: BitVector.h:74
llvm::CallingConv::ID
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Definition: CallingConv.h:24
llvm::VERegisterInfo::eliminateFrameIndex
void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
Definition: VERegisterInfo.cpp:146
llvm::RegScavenger
Definition: RegisterScavenging.h:34
VEGenRegisterInfo
llvm::MachineFunction
Definition: MachineFunction.h:227
uint32_t
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:34
llvm::VERegisterInfo::getCallPreservedMask
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID CC) const override
Definition: VERegisterInfo.cpp:48
llvm::VERegisterInfo::getReservedRegs
BitVector getReservedRegs(const MachineFunction &MF) const override
Definition: VERegisterInfo.cpp:64
llvm::MachineInstrBundleIterator< MachineInstr >
llvm::VERegisterInfo::getPointerRegClass
const TargetRegisterClass * getPointerRegClass(const MachineFunction &MF, unsigned Kind) const override
Definition: VERegisterInfo.cpp:108
TargetRegisterInfo.h
llvm::MCRegister
Wrapper class representing physical registers. Should be passed by value.
Definition: MCRegister.h:22