blob: 1a1da8a254a7e5cf9ecf7286800973d4cfbc46ef [file] [log] [blame]
Tom Stellard000c5af2016-04-14 19:09:28 +00001//===-- 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}