1 //===-- llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp - Call lowering -----===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 /// This file implements the lowering of LLVM calls to machine code calls for
14 //===----------------------------------------------------------------------===//
16 #include "AMDGPUCallLowering.h"
17 #include "AMDGPUISelLowering.h"
19 #include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
20 #include "llvm/CodeGen/MachineInstrBuilder.h"
24 #ifndef LLVM_BUILD_GLOBAL_ISEL
25 #error "This shouldn't be built without GISel"
28 AMDGPUCallLowering::AMDGPUCallLowering(const AMDGPUTargetLowering &TLI)
29 : CallLowering(&TLI) {
32 bool AMDGPUCallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
33 const Value *Val, unsigned VReg) const {
37 bool AMDGPUCallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
39 ArrayRef<unsigned> VRegs) const {
40 // TODO: Implement once there are generic loads/stores.