1//===-- llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp - Call lowering ---===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9///
10/// \file
11/// This file implements the lowering of LLVM calls to machine code calls for
12/// GlobalISel.
13///
14//===----------------------------------------------------------------------===//
15
16#include "AMDGPUCallLowering.h"
17#include "AMDGPUISelLowering.h"
18
19#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
20#include "llvm/CodeGen/MachineInstrBuilder.h"
21
22using namespace llvm;
23
24#ifndef LLVM_BUILD_GLOBAL_ISEL
25#error "This shouldn't be built without GISel"
26#endif
27
28AMDGPUCallLowering::AMDGPUCallLowering(const AMDGPUTargetLowering &TLI)
29  : CallLowering(&TLI) {
30}
31
32bool AMDGPUCallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
33                                        const Value *Val, unsigned VReg) const {
34  return true;
35}
36
37bool AMDGPUCallLowering::lowerFormalArguments(
38    MachineIRBuilder &MIRBuilder, const Function::ArgumentListType &Args,
39    const SmallVectorImpl<unsigned> &VRegs) const {
40  // TODO: Implement once there are generic loads/stores.
41  return true;
42}
43