1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===-- AMDGPURegisterInfo.cpp - AMDGPU Register Information -------------===// 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// The LLVM Compiler Infrastructure 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// This file is distributed under the University of Illinois Open Source 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// License. See LICENSE.TXT for details. 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===----------------------------------------------------------------------===// 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// Parent TargetRegisterInfo class common to all hw codegen targets. 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===----------------------------------------------------------------------===// 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDGPURegisterInfo.h" 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDGPUTargetMachine.h" 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgusing namespace llvm; 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPURegisterInfo::AMDGPURegisterInfo(TargetMachine &tm, 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const TargetInstrInfo &tii) 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org: AMDGPUGenRegisterInfo(0), 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org TM(tm), 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org TII(tii) 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { } 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===----------------------------------------------------------------------===// 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// Function handling callbacks - Functions are a seldom used feature of GPUS, so 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// they are not supported at this time. 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===----------------------------------------------------------------------===// 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst uint16_t AMDGPURegisterInfo::CalleeSavedReg = AMDGPU::NoRegister; 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst uint16_t* AMDGPURegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const { 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return &CalleeSavedReg; 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid AMDGPURegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI, 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org int SPAdj, 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org RegScavenger *RS) const { 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(!"Subroutines not supported yet"); 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgunsigned AMDGPURegisterInfo::getFrameRegister(const MachineFunction &MF) const { 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(!"Subroutines not supported yet"); 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return 0; 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define GET_REGINFO_TARGET_DESC 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDGPUGenRegisterInfo.inc" 51