18214982bSSebastian Neubauer //===- AMDGPUMIRFormatter.cpp ---------------------------------------------===// 28214982bSSebastian Neubauer // 38214982bSSebastian Neubauer // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 48214982bSSebastian Neubauer // See https://llvm.org/LICENSE.txt for license information. 58214982bSSebastian Neubauer // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 68214982bSSebastian Neubauer // 78214982bSSebastian Neubauer //===----------------------------------------------------------------------===// 88214982bSSebastian Neubauer // 98214982bSSebastian Neubauer /// \file 108214982bSSebastian Neubauer /// Implementation of AMDGPU overrides of MIRFormatter. 118214982bSSebastian Neubauer // 128214982bSSebastian Neubauer //===----------------------------------------------------------------------===// 138214982bSSebastian Neubauer 148214982bSSebastian Neubauer #include "AMDGPUMIRFormatter.h" 158214982bSSebastian Neubauer #include "GCNSubtarget.h" 168214982bSSebastian Neubauer #include "SIMachineFunctionInfo.h" 178214982bSSebastian Neubauer 188214982bSSebastian Neubauer using namespace llvm; 198214982bSSebastian Neubauer parseCustomPseudoSourceValue(StringRef Src,MachineFunction & MF,PerFunctionMIParsingState & PFS,const PseudoSourceValue * & PSV,ErrorCallbackType ErrorCallback) const208214982bSSebastian Neubauerbool AMDGPUMIRFormatter::parseCustomPseudoSourceValue( 218214982bSSebastian Neubauer StringRef Src, MachineFunction &MF, PerFunctionMIParsingState &PFS, 228214982bSSebastian Neubauer const PseudoSourceValue *&PSV, ErrorCallbackType ErrorCallback) const { 238214982bSSebastian Neubauer SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); 24*0e1c71e4SMatt Arsenault const AMDGPUTargetMachine &TM = 25*0e1c71e4SMatt Arsenault static_cast<const AMDGPUTargetMachine &>(MF.getTarget()); 268214982bSSebastian Neubauer if (Src == "BufferResource") { 27*0e1c71e4SMatt Arsenault PSV = MFI->getBufferPSV(TM); 288214982bSSebastian Neubauer return false; 298214982bSSebastian Neubauer } 308214982bSSebastian Neubauer if (Src == "ImageResource") { 31*0e1c71e4SMatt Arsenault PSV = MFI->getImagePSV(TM); 328214982bSSebastian Neubauer return false; 338214982bSSebastian Neubauer } 348214982bSSebastian Neubauer if (Src == "GWSResource") { 35*0e1c71e4SMatt Arsenault PSV = MFI->getGWSPSV(TM); 368214982bSSebastian Neubauer return false; 378214982bSSebastian Neubauer } 388214982bSSebastian Neubauer llvm_unreachable("unknown MIR custom pseudo source value"); 398214982bSSebastian Neubauer } 40