llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.h
Matt Arsenault e9c49901a4 AMDGPU/GlobalISel: Add stub custom regbankselect pass
Uniformity analysis needs to be the fundamental basis for
regbank decisions. The considerations of the default pass
are secondary, but potentially useful for some edge cases (e.g.
selecting AGPRs when arbitrary loads and stores can directly use
them). This needs to be a separate pass since it requires new
analysis dependencies.

Boilerplate to subclass the existing pass which does nothing
different.
2023-01-30 16:18:20 -04:00

30 lines
872 B
C++

//===- AMDGPURegBankSelect.h -------------------------------------*- C++ -*-==//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUREGBANKSELECT_H
#define LLVM_LIB_TARGET_AMDGPU_AMDGPUREGBANKSELECT_H
#include "llvm/CodeGen/GlobalISel/RegBankSelect.h"
namespace llvm {
class AMDGPURegBankSelect final : public RegBankSelect {
public:
static char ID;
AMDGPURegBankSelect(Mode RunningMode = Fast);
StringRef getPassName() const override;
void getAnalysisUsage(AnalysisUsage &AU) const override;
bool runOnMachineFunction(MachineFunction &MF) override;
};
} // namespace llvm
#endif