Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430RegisterInfo.h
96353 views
1
//===-- MSP430RegisterInfo.h - MSP430 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 MSP430 implementation of the MRegisterInfo class.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_MSP430_MSP430REGISTERINFO_H
14
#define LLVM_LIB_TARGET_MSP430_MSP430REGISTERINFO_H
15
16
#include "llvm/CodeGen/TargetRegisterInfo.h"
17
18
#define GET_REGINFO_HEADER
19
#include "MSP430GenRegisterInfo.inc"
20
21
namespace llvm {
22
23
class MSP430RegisterInfo : public MSP430GenRegisterInfo {
24
public:
25
MSP430RegisterInfo();
26
27
/// Code Generation virtual methods...
28
const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;
29
30
BitVector getReservedRegs(const MachineFunction &MF) const override;
31
const TargetRegisterClass*
32
getPointerRegClass(const MachineFunction &MF,
33
unsigned Kind = 0) const override;
34
35
bool eliminateFrameIndex(MachineBasicBlock::iterator II,
36
int SPAdj, unsigned FIOperandNum,
37
RegScavenger *RS = nullptr) const override;
38
39
// Debug information queries.
40
Register getFrameRegister(const MachineFunction &MF) const override;
41
};
42
43
} // end namespace llvm
44
45
#endif
46
47