blob: 9ae87c9397ab396bef3897ba771c4005ba5c019d [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;
Tim Northover862758ec2016-09-21 12:57:35 +000030 bool lowerFormalArguments(MachineIRBuilder &MIRBuilder, const Function &F,
31 ArrayRef<unsigned> VRegs) const override;
Tom Stellard000c5af2016-04-14 19:09:28 +000032};
33} // End of namespace llvm;
34#endif