blob: 61174bacdac3dc5b7b67c68330bb61934b0000ed [file] [log] [blame]
Tom Stellard000c5af2016-04-14 19:09:28 +00001//===- lib/Target/AMDGPU/AMDGPUCallLowering.h - Call lowering -*- C++ -*---===//
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 describes how to lower LLVM calls to machine code calls.
12///
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUCALLLOWERING_H
16#define LLVM_LIB_TARGET_AMDGPU_AMDGPUCALLLOWERING_H
17
18#include "llvm/CodeGen/GlobalISel/CallLowering.h"
19
20namespace llvm {
21
22class AMDGPUTargetLowering;
23
24class AMDGPUCallLowering: public CallLowering {
25 public:
26 AMDGPUCallLowering(const AMDGPUTargetLowering &TLI);
27
28 bool lowerReturn(MachineIRBuilder &MIRBuiler, const Value *Val,
29 unsigned VReg) const override;
30 bool
31 lowerFormalArguments(MachineIRBuilder &MIRBuilder,
32 const Function::ArgumentListType &Args,
33 const SmallVectorImpl<unsigned> &VRegs) const override;
34};
35} // End of namespace llvm;
36#endif