1//===-- DirectXRegisterInfo.cpp - RegisterInfo for DirectX -*- 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 defines the DirectX specific subclass of TargetRegisterInfo.
10//
11//===----------------------------------------------------------------------===//
12
13#include "DirectXRegisterInfo.h"
14#include "DirectXFrameLowering.h"
15#include "MCTargetDesc/DirectXMCTargetDesc.h"
16#include "llvm/CodeGen/MachineFunction.h"
17#include "llvm/CodeGen/TargetSubtargetInfo.h"
18
19#define GET_REGINFO_TARGET_DESC
20#include "DirectXGenRegisterInfo.inc"
21
22using namespace llvm;
23
24DirectXRegisterInfo::~DirectXRegisterInfo() {}
25
26const MCPhysReg *
27DirectXRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
28 return nullptr;
29}
30BitVector
31DirectXRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
32 return BitVector(getNumRegs());
33}
34
35bool DirectXRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
36 int SPAdj, unsigned FIOperandNum,
37 RegScavenger *RS) const {
38 return false;
39}
40
41// Debug information queries.
42Register
43DirectXRegisterInfo::getFrameRegister(const MachineFunction &MF) const {
44 return Register();
45}
46