forked from OSchip/llvm-project
Grab the subtarget off of the machine function for the R600
asm printer and clean up a bunch of uses. llvm-svn: 229803
This commit is contained in:
parent
96caeda730
commit
7edca437f5
|
@ -58,7 +58,7 @@ using namespace llvm;
|
|||
// instructions to run at the double precision rate for the device so it's
|
||||
// probably best to just report no single precision denormals.
|
||||
static uint32_t getFPMode(const MachineFunction &F) {
|
||||
const AMDGPUSubtarget& ST = F.getTarget().getSubtarget<AMDGPUSubtarget>();
|
||||
const AMDGPUSubtarget& ST = F.getSubtarget<AMDGPUSubtarget>();
|
||||
// TODO: Is there any real use for the flush in only / flush out only modes?
|
||||
|
||||
uint32_t FP32Denormals =
|
||||
|
@ -112,7 +112,7 @@ bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||
Context.getELFSection(".AMDGPU.config", ELF::SHT_PROGBITS, 0);
|
||||
OutStreamer.SwitchSection(ConfigSection);
|
||||
|
||||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
const AMDGPUSubtarget &STM = MF.getSubtarget<AMDGPUSubtarget>();
|
||||
SIProgramInfo KernelInfo;
|
||||
if (STM.isAmdHsaOS()) {
|
||||
getSIProgramInfo(KernelInfo, MF);
|
||||
|
@ -178,10 +178,10 @@ bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||
void AMDGPUAsmPrinter::EmitProgramInfoR600(const MachineFunction &MF) {
|
||||
unsigned MaxGPR = 0;
|
||||
bool killPixel = false;
|
||||
const R600RegisterInfo *RI = static_cast<const R600RegisterInfo *>(
|
||||
TM.getSubtargetImpl()->getRegisterInfo());
|
||||
const AMDGPUSubtarget &STM = MF.getSubtarget<AMDGPUSubtarget>();
|
||||
const R600RegisterInfo *RI =
|
||||
static_cast<const R600RegisterInfo *>(STM.getRegisterInfo());
|
||||
const R600MachineFunctionInfo *MFI = MF.getInfo<R600MachineFunctionInfo>();
|
||||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
|
||||
for (const MachineBasicBlock &MBB : MF) {
|
||||
for (const MachineInstr &MI : MBB) {
|
||||
|
@ -237,15 +237,15 @@ void AMDGPUAsmPrinter::EmitProgramInfoR600(const MachineFunction &MF) {
|
|||
|
||||
void AMDGPUAsmPrinter::getSIProgramInfo(SIProgramInfo &ProgInfo,
|
||||
const MachineFunction &MF) const {
|
||||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
const AMDGPUSubtarget &STM = MF.getSubtarget<AMDGPUSubtarget>();
|
||||
const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
|
||||
uint64_t CodeSize = 0;
|
||||
unsigned MaxSGPR = 0;
|
||||
unsigned MaxVGPR = 0;
|
||||
bool VCCUsed = false;
|
||||
bool FlatUsed = false;
|
||||
const SIRegisterInfo *RI = static_cast<const SIRegisterInfo *>(
|
||||
TM.getSubtargetImpl()->getRegisterInfo());
|
||||
const SIRegisterInfo *RI =
|
||||
static_cast<const SIRegisterInfo *>(STM.getRegisterInfo());
|
||||
|
||||
for (const MachineBasicBlock &MBB : MF) {
|
||||
for (const MachineInstr &MI : MBB) {
|
||||
|
@ -416,7 +416,7 @@ static unsigned getRsrcReg(unsigned ShaderType) {
|
|||
|
||||
void AMDGPUAsmPrinter::EmitProgramInfoSI(const MachineFunction &MF,
|
||||
const SIProgramInfo &KernelInfo) {
|
||||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
const AMDGPUSubtarget &STM = MF.getSubtarget<AMDGPUSubtarget>();
|
||||
const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
|
||||
unsigned RsrcReg = getRsrcReg(MFI->getShaderType());
|
||||
|
||||
|
@ -454,7 +454,7 @@ void AMDGPUAsmPrinter::EmitProgramInfoSI(const MachineFunction &MF,
|
|||
void AMDGPUAsmPrinter::EmitAmdKernelCodeT(const MachineFunction &MF,
|
||||
const SIProgramInfo &KernelInfo) const {
|
||||
const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
|
||||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
const AMDGPUSubtarget &STM = MF.getSubtarget<AMDGPUSubtarget>();
|
||||
amd_kernel_code_t header;
|
||||
|
||||
memset(&header, 0, sizeof(header));
|
||||
|
|
|
@ -92,13 +92,12 @@ void AMDGPUMCInstLower::lower(const MachineInstr *MI, MCInst &OutMI) const {
|
|||
}
|
||||
|
||||
void AMDGPUAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
AMDGPUMCInstLower MCInstLowering(OutContext,
|
||||
MF->getSubtarget<AMDGPUSubtarget>());
|
||||
const AMDGPUSubtarget &STI = MF->getSubtarget<AMDGPUSubtarget>();
|
||||
AMDGPUMCInstLower MCInstLowering(OutContext, STI);
|
||||
|
||||
#ifdef _DEBUG
|
||||
StringRef Err;
|
||||
if (!MF->getSubtarget<AMDGPUSubtarget>().getInstrInfo()->verifyInstruction(
|
||||
MI, Err)) {
|
||||
if (!STI.getInstrInfo()->verifyInstruction(MI, Err)) {
|
||||
errs() << "Warning: Illegal instruction detected: " << Err << "\n";
|
||||
MI->dump();
|
||||
}
|
||||
|
@ -116,7 +115,7 @@ void AMDGPUAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
|||
MCInstLowering.lower(MI, TmpInst);
|
||||
EmitToStreamer(OutStreamer, TmpInst);
|
||||
|
||||
if (MF->getSubtarget<AMDGPUSubtarget>().dumpCode()) {
|
||||
if (STI.dumpCode()) {
|
||||
// Disassemble instruction/operands to text.
|
||||
DisasmLines.resize(DisasmLines.size() + 1);
|
||||
std::string &DisasmLine = DisasmLines.back();
|
||||
|
|
Loading…
Reference in New Issue